用一列过滤 R 数据框 - 保持数据框格式

Jul*_*uly 4 r dataframe

我正在寻找一种简单的方法来显示一列数据框的子集让我们假设,我有一个数据框:

> 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 命令的解决方案(它不应该依赖于任何特殊库)

Mam*_*zal 6

您可以使用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你需要添加一个条件。