Bazı analizleri tamamlamak için data.table
paketini kullanıyorum. Aldığım adımlardan biri, toplu istatistik elde etmek için by =
işlevini kullanmayı içerir. Bununla birlikte, kümelerin her bir by
alt kümesindeki benzersiz sonuçlarda hesaplanması gerekir. Her bir by
grubunun ayrı kayıtlardan oluştuğundan emin olmak için unique
ve anahtarlarını kullanıyorum. belli belirsiz aşağıda gibi bir şey:R'nin data.table dosyasında, .SD kullanılarak başvurulan altküme korunan bir data.table anahtarı nasıl açılır?
dt_new <- dt_old[,uFunc_MyFunction(x = unique(.SD)),by = grouping_var]
Ben .SD
anahtar dt_old
için anahtar seti ve by =
açıklamada bağlı olarak değişebileceği gibi görünüyordu fark ettim. Açıkçası, sonuçta ortaya çıkan alt kümelerin benzersiz olup olmadığı üzerinde bir etkisi oldu.
Biraz netlik elde etmek istedim, bu yüzden aşağıda yazdım. Anlamaya çalışıyorum ne
library(data.table)
set.seed(1554)
dt_example <- data.table(id = 1:50,
site = sample(x = c("A","B","C"),
size = 50,
replace = TRUE,
prob = c(0.4,0.4,0.2)),
group = sample(x = c("Eta","Mu","Omicron","Psi"),
size = 50,
replace = TRUE),
team = sample(x = 1:3,
size = 50,
replace = TRUE,
prob = c(0.2,0.3,0.5)))
setkey(x = dt_example,
group,
team)
> dt_example[,as.list(key(.SD)),by = site]
site V1 V2
1: B group team
2: A group team
3: C group team
setkey(x = dt_example,
site,
group,
team)
> dt_example[,as.list(key(.SD)),by = site]
Empty data.table (0 rows) of 1 col: site
ikinci versiyonunda, .SD
hiç anahtarı vardı, Birinci versiyonda, .SD
için anahtar, tutarlı olmasının nedeni vardır. by =
sütununun doğrudan anahtarını ihlal eden .SD
numaralı telefona dahil edilmemesi ile ilgili bir şey olduğunu düşünüyorum, ancak mantığımı doğrulamak istedim.
Yani, sorum şu: Bir veri tablosunun alt kümesi, by
gruplandırma değişkeni olarak ana veri tablosunun anahtarını içeren sütunlardan biri kullanıldığında, anahtarın hiçbiri, .SD
anahtar içermiyor mu?
için muhtemelen. – eddi
@eddi FR nedir? – TARehman
FR = Özellik İsteği – Jaap