32

我有一个包含几行的数据框。我想从此数据框中选择一些具有特定行名(例如stu2,stu3,stu5,stu9)的行。输入示例数据框如下:

        attr1 attr2 attr3 attr4
  stu1      0     0     1     0
  stu2     -1     1    -1     1
  stu3      1    -1     0    -1
  stu4      1    -1     1    -1
  stu5     -1     1     0     1
  stu6      1    -1     1     0
  stu7     -1    -1    -1     1
  stu8      1    -1     0    -1
  stu9     -1    -1     1    -1
  stu10    -1     1     0     1

预期输出:

        attr1 attr2 attr3 attr4
  stu2     -1     1    -1     1
  stu3      1    -1     0    -1
  stu5     -1     1     0     1
  stu9     -1    -1     1    -1
4

3 回答 3

52

假设您有一个名为 的数据框students,您可以使用括号语法选择单个行或列,如下所示:

  • students[1,2]将选择第 1 行和第 2 列,这里的结果将是一个单元格。
  • students[1,]将选择所有第 1 行,students[,2]将选择所有第 2 列。

如果您想选择多行或多列,请使用值列表,如下所示:

  • students[c(1,3,4),]将选择第 1、3 和 4 行,
  • students[c("stu1", "stu2"),]将选择名为stu1和的行stu2

希望我能帮上忙。

于 2013-09-21T13:42:12.357 回答
7

你也可以使用这个:

DF[paste0("stu",c(2,3,5,9)), ]
于 2013-09-21T14:13:34.360 回答
4
df <- data.frame(x=rnorm(10), y=rnorm(10))
rownames(df) <-  letters[1:10]
df[c('a','b'),]
于 2013-09-21T13:37:34.353 回答