0
我有一个小麻烦理解data.table下列行为......需要帮助了解[R data.table行为
##Combine into one data.table
RecordNo <- 1:36
Record_Date <- c(31,33,38,41,44,59,68,69,75,78,85,88,
32,34,45,46,51,54,60,65,67,70,74,80,
33,35,42,45,50,60,65,70,75,80,82,85)
Cust_ID <- c(rep(1,12),rep(2,12),rep(3,12))
data <- data.table(RecordNo,Record_Date,Cust_ID)
##Create "list" of comparison dates
data[,list(Compare_Date=list(Record_Date)),by=c("Cust_ID")]
Cust_ID Compare_Date
1: 1 33,35,42,45,50,60,
2: 2 33,35,42,45,50,60,
3: 3 33,35,42,45,50,60,
上面的代码输出CUST_ID = 3的每个日期列表CUST_ID。我希望像这样的输出..
Cust_ID Compare_Date
1: 1 31,33,38,41,44,59,
2: 2 32,34,45,46,51,54,
3: 3 33,35,42,45,50,60,
任何想法,为什么data.table将返回日期为CUST_ID 3,而不是每个CUST_ID值的正确列表清单?
sessionInfo()
R version 3.1.0 beta (2014-03-28 r65330)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] data.table_1.9.2
loaded via a namespace (and not attached):
[1] plyr_1.8.1 Rcpp_0.11.0 reshape2_1.2.2 stringr_0.6.2 tools_3.1.0
您所需的输出。您可能需要清理工作区并复制/粘贴可重现的代码,以查看是否遇到同样的问题。 – BrodieG
同样在这里,运行dt 1.9.3 – eddi
很奇怪。它仍在起作用。也许我会尝试卸载,然后重新安装data.table。 –