Bu, oldukça basittir, ancak rasgele sütun seçimine dayalı olarak bazı verileri (ortalama ve medyan) özetleyebilmeyi ve bunun farklı bir sütun tarafından gruplandırılmasını ister.R altbilgi ve özetleme için data.table sözdizimi
aşağıya bakın:
DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)
ww <- sample(c("y","v"),1)
DT[,list(avg=mean(ww),med=median(ww)),by="x"]
x avg med
1: a NA y
2: b NA y
3: c NA y
Warning messages:
1: In `[.data.table`(DT, , list(avg = mean(ww), med = median(ww)), :
argument is not numeric or logical: returning NA
2: In `[.data.table`(DT, , list(avg = mean(ww), med = median(ww)), :
argument is not numeric or logical: returning NA
3: In `[.data.table`(DT, , list(avg = mean(ww), med = median(ww)), :
argument is not numeric or logical: returning NA
örnek ww için ise eşit "v"
oldu o zaman ben ben ayarlamak gerekir sözdizimi sadece olduğunu düşünüyorum, ancak aşağıdaki çıktı üretmesi
x avg med
1: a 2 2
2: b 5 5
3: c 8 8
beklenebilir nasıl ayarlanacağından emin değilim ... Herhangi bir yardım büyük ölçüde takdir edilecektir ...
İşte bunu yapmanın başka bir yolu: 'DT [, gecikme (liste (ort = ortalama, med = medyan), işlev (f) f (.SD [[ww]])), = = x Aşağıdaki cevapta açıklandığı gibi "]' ya da 'get' ile ... – Frank