차례:
- 행 및 열 합계 추가
- format ()을 사용하여 숫자를 예쁜 텍스트로 바꿀 수 있습니다. 이 함수는 결과 형식을 제어하기 위해 여러 가지 인수를 사용합니다. 다음은 몇 가지 예입니다 :
- Excel에서 많이 수행했던 것 중 일부는 sumif () 및 countif () 함수를 사용하여 조건부 합계 및 개수를 계산합니다.
- mtcars에서 연료 효율의 조건부 평균을 계산하려고한다고 가정 해보십시오. mean () 함수를 사용하면됩니다. 이제, 150 마력의 문턱에서 자동차의 연료 효율을 얻으려면 다음을 시도하십시오.
[0] 209090> with (mtcars, mean (mpg [ 벡터의 요소 수를 계산하는 것은 길이를 묻는 것과 동일합니다. 즉, Excel 함수 countif (() )는 길이가 R이고, >>는 (mtcars, length (mpg [hp> 150])) [1] 13 - 데이터의 모든 고유 값을 식별하려면 unique () 함수를 사용합니다. mtcars에서 실린더 수의 고유 값을 찾으십시오 : >> unique (mtcars $ cyl) [1] 6 4 8
- 약간 더 복잡한 테이블, 즉 세 개 이상의 교차 분류 인자가있는 테이블의 경우 집계 () 함수 : >> aggregate (hp ~ cyl + gear + am, mtcars, mean) cyl gear am hp 1 4 3 0 97. 00000 2 6 3 0 107. 50000 3 8 3 0 194. 16667 4 4 4 0 78. 50000 5 6 4 0 123. 00000 6 4 4 1 75. 16667 7 6 4 1 110. 00000 8 4 5 1 102. 00000 9 6 5 1 175. 00000 10 8 5 1 299. 50000 999 목표 찾기 및 해결
- 예상 판매 및 수익 모델.
비디오: F4, 업무시간을 50% 줄여주는 단 하나의 키! [보고 바로 쓰는 엑셀 꿀팁] 2024
스프레드 시트는 아마도 가장 널리 사용되는 PC 응용 프로그램 중 하나 일 것입니다. 스프레드 시트는 계산 및 기타 작업을 표 형식 데이터. 그러나 스프레드 시트에는 몇 가지 위험이 있습니다. 손상되기 쉽고 디버깅하기가 쉽지 않습니다. 좋은 소식은 R을 사용하여 스프레드 시트에서 사용했던 것과 동일한 많은 작업을 수행 할 수 있다는 것입니다.
행 및 열 합계 추가
스프레드 시트에서 자주 수행 할 수있는 작업 중 하나는 행 또는 열 합계를 계산하는 것입니다. 가장 쉬운 방법은 rowSums () 및 colSums () 함수를 사용하는 것입니다. 마찬가지로 rowMeans () 및 colMeans ()를 사용하여 평균을 계산합니다.
내장 된 데이터 세트 아이리스에서 사용해보십시오. 먼저 홍채 종을 설명하는 텍스트가 포함되어 있기 때문에 다섯 번째 열을 제거하십시오: >> 홍채. num <- iris [-5]
그런 다음 각 열의 합과 평균을 계산합니다.
colSums (홍채 num)> colMeans (홍채 num)
이 두 함수는 매우 편리하지만 각 열이나 행에 대해 다른 통계를 계산할 수 있습니다. 배열이나 데이터 프레임의 행이나 열을 쉽게 지나갈 수있는 방법은 apply () 함수입니다. 예를 들어, 열의 최소값을 얻는 것은 데이터의 두 번째 차원에 min () 함수를 적용하는 것과 같습니다. >> apply (홍채 num, 2, min)> apply (홍채 num, 2, 최대)
숫자 서식 지정
format ()을 사용하여 숫자를 예쁜 텍스트로 바꿀 수 있습니다. 이 함수는 결과 형식을 제어하기 위해 여러 가지 인수를 사용합니다. 다음은 몇 가지 예입니다:
trim:
-
논리적 가치. FALSE이면 결과를 오른쪽 정렬 할 공백을 추가합니다. TRUE이면 선행 공백을 표시하지 않습니다. 숫자 :
-
표시 할 숫자의 유효 자릿수. nsmall :
-
소수점 이하의 최소 자릿수. 또한 소수점 형식을 십진수로 제어합니다. mark, 간격 사이의 표시 앞에
큰 숫자가있는 소수점. 마침표와 간격 사이의 표시 소량의 소수점 뒤에. 표. 예를 들어, 12345. 6789는 소수점으로 쉼표, 큰 기호로 공백 및 작은 표시로 점: >> 형식 (12345 6789, 숫자 = 9, 10 진수)으로 인쇄 할 수 있습니다. 좀 더 실제적인 예로서 다음과 같이 계산할 수있다. (예를 들어, "=", "+", mtcars의 일부 컬럼을 의미하고 소수점 다음 두 자리 숫자로 결과를 출력하려면 다음을 사용하십시오: >> x format (x, digits = 2, nsmall = 2) mpg cyl disp hp "20.09 ""6. 19 ""230. 72 ""146. 69 " 결과가 더 이상 숫자가 아니라 텍스트 문자열임을 유의하십시오. 따라서 숫자 서식을 사용할 때는주의해야합니다. 이는 보고서 워크 플로의 마지막 단계 여야합니다.
C 또는 C ++와 유사한 언어로 프로그래밍하는 것에 익숙하다면 sprintf () 함수가 유용 할 수도 있습니다. 이 래퍼를 사용하면 서식이 지정된 번호를 문자열에 직접 붙여 넣을 수 있습니다.
숫자를 백분율로 변환하는 예는 다음과 같습니다. >> x sprintf ("%.1f %%", 100 * x) [1] "50. 0 % ""51. 0 % ""52. 0 % ""53. 0 % ""54. 0 % ""55. 0 % "
sprintf ()의 첫 번째 인수는 형식을 나타냅니다 (이 경우"%. 1f %% ". format 인수는 함수가이 리터럴을 변수로 바꾸고 일부 서식을 적용해야 함을 나타내는 특수 리터럴을 사용합니다. 리터럴은 항상 % 기호로 시작합니다. 그래서,이 경우 %. 1f는 소수점 다음 한 자리 숫자로 고정 소수점 값으로 첫 번째 제공된 값을 형식화하는 것을 의미하고 %%는 a %를 인쇄하는 리터럴입니다.
일부 숫자를 통화로 포맷하려면 -이 경우 미국 달러 - >> 집합을 사용하십시오. 51 ""$ 372. 12 ""$ 572. 85 ""$ 908. 21 ""$ 201. 68 (1)> x sprintf ("$ % 3. 2f", x) "
sprintf () 함수는 변수의 값을 문자열에 붙여 넣을 수있는 대체 방법을 제공합니다. >> 물건 가격 sprintf ("% s 비용 $ % 3.2f ", 물건, 가격) [1]] "빵은 $ 2를 지불합니다. 10" "쿠키는 $ 4.00입니다. 00"
여기에서 일어나는 일은 sprintf ()에 두 벡터 (두 개의 요소가있는 각 벡터)를 제공했기 때문에 결과가 두 개의 요소. R은 요소를 순환하고 sprintf () 리터럴에 배치합니다.
sprintf ()로 할 수있는 paste () 및 format ()으로 모든 것을 할 수 있기 때문에 실제로 사용하지 않아도됩니다. 그러나 그렇게하면 코드가 단순 해집니다.
데이터 정렬
R로 데이터를 정렬하려면 sort () 또는 order () 함수를 사용합니다.
데이터 프레임 mtcars를 열 hp의 오름차순 또는 오름차순으로 정렬하려면 다음을 사용합니다.
스프레드 시트로 선택하면 모든 종류의 "What if? "분석. 이 작업을 수행하는 한 가지 방법은 스프레드 시트에서 if () 함수를 사용하는 것입니다.
R에는 if () 함수도 있지만 대부분 스크립트의 흐름 제어에 사용됩니다. 일반적으로 R의 전체 벡터에 대해 계산을 수행하려는 경우 일반적으로 ifelse () 함수를 사용하는 것이 더 적절합니다.
mtcars 데이터 세트에서 높은 연료 효율성을 가진 자동차를 식별하기 위해 ifelse ()를 사용하는 예가 있습니다: >> mtcars <- transform (mtcars, + mpgClass = ifelse (mpg mtcars [mtcars $ mpgClass == "High",]
조건부 합계 계산
Excel에서 많이 수행했던 것 중 일부는 sumif () 및 countif () 함수를 사용하여 조건부 합계 및 개수를 계산합니다.
다음 중 하나에서 같은 작업을 수행 할 수 있습니다. R의 두 가지 방법:
ifelse를 사용하십시오.
데이터 하위 집합에 대한 관심 측정 값을 계산하기 만하면됩니다.
mtcars에서 연료 효율의 조건부 평균을 계산하려고한다고 가정 해보십시오. mean () 함수를 사용하면됩니다. 이제, 150 마력의 문턱에서 자동차의 연료 효율을 얻으려면 다음을 시도하십시오. [0] 209090> with (mtcars, mean (mpg [벡터의 요소 수를 계산하는 것은 길이를 묻는 것과 동일합니다. 즉, Excel 함수 countif (())는 길이가 R이고, >>는 (mtcars, length (mpg [hp> 150])) [1] 13
열 또는 행 전치
열에서 열로 또는 그 반대로 행렬을 변환하는 함수는 다음과 같습니다. R에서 행렬을 이항하는 함수는 t ()입니다. >> xx [1] [2] [3] [1,] 1 5 9 [2,] 2 행렬의 전치를 얻기 위해서는 t ()를 사용한다. >> t (x) [1] [2] [3, 4] [1,] 1 2 3 4 [2,] 5 6 7 8 [3,] 9 10 11 12
t ()를 사용하여 데이터 프레임을 조 변경 할 수 있지만, 변환의 결과는 항상 행렬 (또는 배열)입니다. 배열은 항상 하나의 유형 숫자 또는 문자와 같은 변수의 경우 결과의 변수 유형이 예상 한 것과 다를 수 있습니다.
고유 값 또는 중복 값 찾기
데이터의 모든 고유 값을 식별하려면 unique () 함수를 사용합니다. mtcars에서 실린더 수의 고유 값을 찾으십시오: >> unique (mtcars $ cyl) [1] 6 4 8
어떤 데이터 값이 중복인지 알고 싶을 때가 있습니다. 상황에 따라 이러한 중복은 유효하지만 중복 항목은 데이터 입력 문제를 나타낼 수 있습니다.
중복 된 항목을 식별하는 기능이 중복됩니다 (). 내장 된 데이터 셋 홍채에는 143 행에 중복 된 행이 있습니다. 직접 시도하십시오: >> 중복 머리 (중복) [1] 거짓 거짓 오류 거짓 거짓> 어떤 (중복) [1] 143> 홍채 세균. Length Sepal. 너비 꽃잎. 길이 꽃잎. 너비 종 143 5.8 2. 7 5. 1 1. 9 virginica
-
duplicated ()의 결과가 논리 벡터이므로이를 인덱스로 사용하여 데이터에서 행을 제거 할 수 있습니다. 이렇게하려면 부정 연산자를 사용하십시오 - 느낌표 (! dupes와 같이): >> iris [! 조회 테이블 작업
-
Excel과 같은 스프레드 시트 응용 프로그램에서 함수 vlookup 또는 색인과 일치의 조합으로 찾아보기 테이블을 만들 수 있습니다 (예: 아이리스 [!]).
R에서는 merge () 또는 match ()를 사용하는 것이 편리 할 수 있습니다. match () 함수는 조회 값과 일치하는 요소의 위치가있는 벡터를 반환합니다.
예를 들어, mtcars의 행 이름에서 "Toyota Corolla"요소의 위치를 찾으려면 다음을 시도하십시오. >> index index [1] 20> mtcars [index, 1: 4] mpg cyl disp hp Toyota Corolla 33. 9 4 71. 1 65
피벗 테이블 작업
R의 간단한 테이블의 경우 tapply () 함수를 사용하여 Excel에서 피벗 테이블과 유사한 결과를 얻을 수 있습니다.다음은 tapply ()를 사용하여 실린더 및 기어 수가 다른 자동차의 평균 마력을 계산하는 예입니다.약간 더 복잡한 테이블, 즉 세 개 이상의 교차 분류 인자가있는 테이블의 경우 집계 () 함수: >> aggregate (hp ~ cyl + gear + am, mtcars, mean) cyl gear am hp 1 4 3 0 97. 00000 2 6 3 0 107. 50000 3 8 3 0 194. 16667 4 4 4 0 78. 50000 5 6 4 0 123. 00000 6 4 4 1 75. 16667 7 6 4 1 110. 00000 8 4 5 1 102. 00000 9 6 5 1 175. 00000 10 8 5 1 299. 50000 999 목표 찾기 및 해결
R에서 optimize () 함수는 함수를 최적화하는 데 아주 간단한 메커니즘을 제공합니다.
당신이 회사의 영업 이사이고 자신의 제품에 가장 적합한 가격을 설정해야한다고 가정 해보십시오. 즉, 수익을 극대화하는 제품의 가격을 찾으십시오. 경제학에서 단순한 가격 책정 모델은 가격이 올라갈 때 사람들이 주어진 제품을 덜 구입한다고 말합니다. >> sales <- function (price) {100 - 0.5 * price}기대 수익은 간단히 가격과 예상 판매량의 곱입니다: >> 수익 <- function (price) {price * sales (price)}
curve () 함수를 사용하여 연속 함수를 그릴 수 있습니다. 이것은 함수를 입력으로 취해 플롯을 생성합니다. <509> oldpar curve (sales, = 50, to = 150, xname = "price", main = "Sales") 함수를 사용하여 판매 및 수익의 행태를 계획하십시오. ")> 커브 (수익, = 50, = 150, xname ="가격 ", 메인 ="수익 ")> 파 (oldpar)결과는 이와 비슷하게 보입니다.
예상 판매 및 수익 모델.
영업 및 수익 모델이 있습니다. 최대한의 수입이 있다는 것을 즉시 알 수 있습니다. 그런 다음 R 함수 optimize ()를 사용하여 최대 값을 찾습니다. optimize ()를 사용하려면 간격 (이 경우 50에서 150 사이의 가격)뿐 아니라 사용할 함수 (이 경우에는 revenue ())를 지정해야합니다. 기본적으로 optimize ()는 최소값을 검색하므로이 경우 최대 값을 검색하도록 지시해야합니다. >> optimize (수익, 간격 = c (50, 150), 최대 = TRUE) $ maximum [1] 100 $ objective [1] 5000
그리고 거기로 가세요. 100 달러의 가격을 청구하고 5 달러의 수익을 올릴 것으로 예상하십시오.