IT TIP

data.table을 여러 열로 그룹화하는 방법은 무엇입니까?

itqueen 2020. 12. 8. 20:36
반응형

data.table을 여러 열로 그룹화하는 방법은 무엇입니까?


data.table데이터 세트에 대한 요약 통계 수집 속도를 높이기 위해 패키지를 사용하고 있습니다.

둘 이상의 열로 그룹화하는 방법이 있는지 궁금합니다. 내 데이터는 다음과 같습니다.

  purchaseAmt        adShown        url
   15.54            00001         150000001
    4.82            00002         150000001
  157.99            05005         776300044
   ...               ...            ...

다음과 같이 할 수 있습니다.

adShownMedian <- df1[,median(purchaseAmt),by="adShown"]

각 광고의 중앙값을 가져옵니다. adShown결합 된 것을 어떻게 할 수 url있습니까?

나는 이것을 시도했다 :

adShownMedian <- df1[,median(purchaseAmt),by=c("adShown","url")]

하지만 운이 없습니다.

어떤 제안?


by=list(adShown,url)대신 사용by=c("adShown","url")

예:

set.seed(007) 
DF <- data.frame(X=1:20, Y=sample(c(0,1), 20, TRUE), Z=sample(0:5, 20, TRUE))

library(data.table)
DT <- data.table(DF)
DT[, Mean:=mean(X), by=list(Y, Z)]


     X Y Z      Mean
 1:  1 1 3  1.000000
 2:  2 0 1  9.333333
 3:  3 0 5  7.400000
 4:  4 0 5  7.400000
 5:  5 0 5  7.400000
 6:  6 1 0  6.000000
 7:  7 0 3  7.000000
 8:  8 1 2 12.500000
 9:  9 0 5  7.400000
10: 10 0 2 15.000000
11: 11 0 4 14.500000
12: 12 0 1  9.333333
13: 13 1 1 13.000000
14: 14 0 1  9.333333
15: 15 0 2 15.000000
16: 16 0 5  7.400000
17: 17 1 2 12.500000
18: 18 0 4 14.500000
19: 19 1 5 19.000000
20: 20 0 2 15.000000

참고 URL : https://stackoverflow.com/questions/12478943/how-to-group-data-table-by-multiple-columns

반응형