所以,我有以下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)] …
所以,我一直在学习如何使用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)