1

Excel에서 볼 수있는 기능과 비슷한 rpivotTable 패키지와 함께 사용할 계산 된 필드를 만들고 싶습니다.rpivotTable에서 계산 된 필드 추가

+--------------+--------+---------+-------------+-----------------+ 
| Manufacturer | Vendor | Shipper | Total Units | Defective Units | 
+--------------+--------+---------+-------------+-----------------+ 
| A   | P  | X  |  173247 |   34649 | 
| A   | P  | Y  |  451598 |   225799 | 
| A   | P  | Z  |  759695 |   463414 | 
| A   | Q  | X  |  358040 |   225565 | 
| A   | Q  | Y  |  102068 |   36744 | 
| A   | Q  | Z  |  994961 |   228841 | 
| A   | R  | X  |  454672 |   231883 | 
| A   | R  | Y  |  275994 |   124197 | 
| A   | R  | Z  |  691100 |   165864 | 
| B   | P  | X  |  755594 |   302238 | 
| .   | .  | .  |   . |    . | 
| .   | .  | .  |   . |    . | 
+--------------+--------+---------+-------------+-----------------+ 

(내 실제 테이블 등 더 많은 열, 차원과 측정 모두, 시간을 가지고 나는 여러 같은 "계산 된 열"을 정의해야을 :

는 예를 들어, 다음 표를 고려)

결함 비율 (Defective Units/Total Units)을 계산하고 처음 세 열 중 하나로 집계하고 싶으면 할 수 없습니다. 이건 내 결함을주고 결국

myData[, Defect.Rate := Defective_Units/Total_Units] 

:

나는 참조 ( :=)에 의해 할당을 시도하지만 여전히 작동하지 않았고, 불량률 (즉, sum(Defective_Units/Total_Units))를 대신 sum(Defective_Units)/sum(Total_Units)을 요약 1보다 큰 비율. 계산 집계를 선언 할 수있는 곳이 있습니까? 집계 후의 계산식 일뿐입니다.

+0

있다가 계산 된 필드에 대한 해결 방법은 .... –

답변

0

pivottable.js의 작성자는 "합계 합계"라는 애그리 게이터와 몇 가지 더 비슷한 방법으로 cf (또는 이전의 오늘)와 같은 사례를 예측할 수 있습니다. https://github.com/nicolaskruchten/pivottable/blob/master/src/pivot.coffee#L111https://github.com/nicolaskruchten/pivottable/blob/master/src/pivot.coffee#L169.

그래서 "합계 합계"를 매개 변수 "aggregatorName"으로 사용하고 몫이 "vals"매개 변수에서 원하는 열을 사용합니다.

여기 재현성에 대한 mtcars 데이터로부터 의미의 사용 예는 다음과 같습니다

require(rpivotTable) 
data(mtcars) 
rpivotTable(mtcars,rows="gear", cols=c("cyl","carb"), 
      aggregatorName = "Sum over Sum", 
      vals =c("mpg","disp"), 
      width="100%", height="400px")