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