我正在寻找一种显示单列数据帧子集的简单方法 让我们假设,我有一个数据框:
> df <- data.frame(a = 1:100)
现在,我只需要前10行。如果我按索引对其进行子集化,我将获得结果向量而不是数据帧:
> df[1:10,]
[1] 1 2 3 4 5 6 7 8 9 10
我尝试使用&#39;子集&#39;但是不使用&#39;子集&#39;参数会导致错误(仅适用于单列数据帧?):
subset(df[1:10,])
Error in subset.default(df[1:10, ]) :
argument "subset" is missing, with no default
应该有一个非常简单的解决方案来实现按行索引过滤的子集(仍然是数据帧),不是吗? 我希望找到一个基本R命令的解决方案(它不应该依赖于任何特殊的库)
答案 0 :(得分:4)
您可以使用drop=FALSE
,以防止丢弃数组的尺寸。
df[1:10, , drop=FALSE]
a
1 1
2 2
3 3
4 4
5 5
...
对于subset
,您需要添加条件。