小编dpu*_*leo的帖子

如何使用目标向量对data.table进行排序

所以,我有以下data.table

DT = data.table(x=rep(c("b","a","c"),each=3), y=c(1,2,3))

> DT
   x y
1: b 1
2: b 2
3: b 3
4: a 1
5: a 2
6: a 3
7: c 1
8: c 2
9: c 3
Run Code Online (Sandbox Code Playgroud)

我有以下矢量

k <- c("2","3","1")
Run Code Online (Sandbox Code Playgroud)

我想k用作目标向量来排序DT使用y并得到这样的东西.

> DT
   x y
1: b 2
2: a 2
3: c 2
4: b 3
5: a 3
6: c 3
7: b 1
8: a 1
9: c 1
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?如果我使用DT[order(k)] …

r data.table

6
推荐指数
1
解决办法
1472
查看次数

使用带有多个value.var的dcast时出错

所以,我一直在学习如何使用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) 
Run Code Online (Sandbox Code Playgroud)

然后

# multiple value.var
dcast(dt, x + y ~ z, fun=sum, value.var=c("d1","d2"))
Run Code Online (Sandbox Code Playgroud)

我收到错误:

.subset2(x,i,exact = exact)中的错误:下标超出范围另外:警告消息:在if(!(%.(或数据)中的value.var%)){:
条件长度> 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
Run Code Online (Sandbox Code Playgroud)

casting r data.table

2
推荐指数
1
解决办法
1740
查看次数

标签 统计

data.table ×2

r ×2

casting ×1