: Doğaldata.table ve masa beklenmedik davranış verileri ben etrafında oynuyordum başka bir soru geliyor
dt[user == 3, as.data.frame(table(country))]
# country Freq
#1 1 4
#2 2 1
dt[user == 4, as.data.frame(table(country))]
# country Freq
#1 2 5
dt[, as.data.frame(table(country)), by = user]
# user country Freq
#1: 3 1 4
#2: 3 2 1
#3: 4 1 5
# ^^^ - why is this 1 instead of 2?!
Teşekkür mnel ve Victor K.: Burada
dt <- data.table(user=c(rep(3, 5), rep(4, 5)),
country=c(rep(1,4),rep(2,6)),
event=1:10, key="user")
# user country event
#1: 3 1 1
#2: 3 1 2
#3: 3 1 3
#4: 3 1 4
#5: 3 2 5
#6: 4 2 6
#7: 4 2 7
#8: 4 2 8
#9: 4 2 9
#10: 4 2 10
Ve şaşırtıcı bir davranış takip-2 olmalı, yani bu bir hata mı? O beklenti yanlış mı
rbind(dt[user == 3, blah], dt[user == 4, blah])
özdeş sonuç döndürmek için
dt[, blah, by = user]
beklenen?
Ülkede as.data.frame konumunda (tablo (ülke)) bir faktör var mı? Eğer öyleyse bu, seviyelerin her ikisinde de aynı olmadığı içindir. – mnel
@mnel, bunun içindeyken, 'as.data.frame' 'faktörü' için zorlamadan kaynaklanırken, beklenen davranış, etiketi temsil edecek değerdir. Sanırım bu muhtemelen "rbindlist" ile aynı şey oluyor: http://stackoverflow.com/questions/15933846/rbindlist-two-data-tables-where-one-has-factor-and-other-has- karakter-tipi-için/15935715 # 15935715 –
@eddi, cevabımı güncellemeye bakın. –