如何从数据框中选择具有特定行名称的某些行? [关闭]

问题描述 投票:12回答:3

我有一个包含多行的数据框。我想从这个数据帧中选择一些具有特定rownames的行(例如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
r dataframe subset rowname
3个回答
29
投票

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

  • students[1,2]将选择第1行和第2列,此处的结果将是单个单元格。
  • students[1,]将选择第1行的全部,students[,2]将选择第2列的全部。

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

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

希望我能提供帮助。


3
投票

你也可以用这个:

DF[paste0("stu",c(2,3,5,9)), ]

1
投票
df <- data.frame(x=rnorm(10), y=rnorm(10))
rownames(df) <-  letters[1:10]
df[c('a','b'),]
© www.soinside.com 2019 - 2024. All rights reserved.