如何从DataFrame中按索引选取指定多行(第1行和第14行)
选取DataFrame第1行和第14行的正确方法
你之前的写法data[rownames(data) == 1, 14,]错误在于:逗号分隔的是行索引和列索引,第二个参数14是指定选第14列而非第14行;同时==只能匹配单个行名,无法同时匹配多个目标值。
以下是两种正确实现方式:
方法1:直接使用行号索引(最简便)
如果你的DataFrame使用默认连续行号索引(rownames为1,2,...,16),直接用向量指定目标行号即可:
data[c(1, 14), ]
逗号后留空表示选取所有列,若需指定特定列,可在逗号后补充列名或列号。
方法2:通过行名匹配(适用于自定义行名场景)
如果你的行名不是默认连续数字,或需要严格匹配行名字符串,使用%in%来同时匹配多个行名:
data[rownames(data) %in% c("1", "14"), ]
注意这里要把行号写成字符串形式——因为rownames()返回的是字符型向量,%in%支持同时匹配多个目标值。
内容的提问来源于stack exchange,提问作者Henry Oufh
相关产品推荐
相关产品推荐

