R:使用列值/位置进行子集化时,某些数据表的子集化问题

时间:2016-06-08 08:13:16

标签: r data.table subset

对于某些data.table,我正面临分组问题。

例如,如果我需要特定数据表“y”的第4列,第8列和第9列,我使用下面的代码,但结果它创建了4,8,9的向量而不是获得第4,第8和第9列

y<-data.table(rnorm(100),pnorm(100),rnorm(100),pnorm(100),rnorm(100),pnorm(100),rnorm(100),pnorm(100),rnorm(100),pnorm(100))
req<-y[,c(4,8,9)]
req

对于上面的代码结果是向量输出4,8,9

# [1] 4 8 9

对于某些数据表我正面临这个问题。任何人都可以解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

尝试

req<-y[,c(4,8,9),with=FALSE]

我认为它会给你你想要的东西

答案 1 :(得分:0)

这里至少有两个选项:

# using column name
y[ , .(V4,V8,V9)]

# using column position
y[, c(4,8,9), with = FALSE]