因此,我一直在学习如何使用data.table,我??dcast
在以下示例中使用了示例
dt = data.table(x=sample(5,20,TRUE), y=sample(2,20,TRUE),
z=sample(letters[1:2], 20,TRUE), d1 = runif(20), d2=1L)
然后
# multiple value.var
dcast(dt, x + y ~ z, fun=sum, value.var=c("d1","d2"))
我得到错误:
.subset2(x,i,精确=精确)中的错误:下标超出范围另外:警告消息:在if(!(value.var%in%names(data))){:
条件的长度> 1且仅将使用第一个元素
这是我的R版本的信息:
> version
_
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 2.2
year 2015
month 08
day 14
svn rev 69053
language R
version.string R version 3.2.2 (2015-08-14)
nickname Fire Safety
我遇到了同样的事情,令人沮丧。
答案/问题是您需要“强制” data.table dcast函数,否则它将使用reshape2函数
我成功的唯一方法是按以下方式运行dcast:
# multiple value.var
data.table::dcast(dt, x + y ~ z, fun=sum, value.var=c("d1","d2"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句