Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将dcast与multiple value.var一起使用时出错_R_Casting_Data.table - Fatal编程技术网

将dcast与multiple value.var一起使用时出错

将dcast与multiple value.var一起使用时出错,r,casting,data.table,R,Casting,Data.table,因此,我一直在学习如何使用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) 然后 我得到了一个错误: .subset2(x,i,exact=exact)中的错误:中的下标超出边界 添加:警告消息:如果(!(val

因此,我一直在学习如何使用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) 
然后

我得到了一个错误:

.subset2(x,i,exact=exact)中的错误:中的下标超出边界 添加:警告消息:如果(!(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函数,否则它将使用重塑2函数

我成功的唯一方法是按如下方式运行dcast:

# multiple value.var
data.table::dcast(dt, x + y ~ z, fun=sum, value.var=c("d1","d2"))

无法用
R3.2.3
数据重现错误。R3.2.3上的表1.9.6
带有数据。表1.9.7,我看不到任何错误。仅供参考,在1.9.6中添加了多值.var功能:也可以通过只加载
数据.table
库,或在
重塑2
之前加载
数据.table
来避免这一问题尤其令人恼火,因为只有在加载了
重塑2
然后加载了
数据.table
,这才是一个问题,这意味着它通常不是一个问题。这也是正确的。如果函数屏蔽了其他函数,包加载顺序可能会导致许多问题……可能会令人沮丧
# multiple value.var
data.table::dcast(dt, x + y ~ z, fun=sum, value.var=c("d1","d2"))