我有一个包含多行的数据框。我想从此数据框中选择具有特定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
答案 0 :(得分:27)
假设您有一个名为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
的行。希望我能提供帮助。
答案 1 :(得分:3)
您也可以使用:
DF[paste0("stu",c(2,3,5,9)), ]
答案 2 :(得分:1)
df <- data.frame(x=rnorm(10), y=rnorm(10))
rownames(df) <- letters[1:10]
df[c('a','b'),]