【发布时间】:2016-11-26 01:42:12
【问题描述】:
示例 R 数据框:
n = c(2, 3, 5)
s = c("aa", "bb", "cc")
b = c(TRUE, FALSE, TRUE)
df = data.frame(n, s, b)
我可以像这样轻松地对数据框中的列进行子集化:
df.smaller <- df[c(1,2)]
n s
1 2 aa
2 3 bb
3 5 cc
非常方便!
但是,使用数据表(我认为使用数据表更容易)我还没有找到如此快速的方法来做同样的事情。如何快速轻松地对数据表执行相同操作?
dt = data.table(df)
dt.smaller <- dt[c(1,2)]
n s b
1: 2 aa TRUE
2: 3 bb FALSE
将返回前两行。可能它只是一个逗号或我必须更改的东西,但我无法弄清楚。
【问题讨论】:
-
First result 来自谷歌搜索...
-
我也看到了。但我认为必须有更简单的方法,例如 df[c(1,2)]。如果没有,就足够公平了。
-
请阅读vignettes。
标签: r dataframe data.table