在R中如何根据行索引列表提取dataframe指定变量的对应值?
R语言按指定行索引提取id列取值的方法
你可以通过以下两种常用方式实现需求:
- 直接对id列向量做索引取值,写法最简单高效:
核心代码:dat$id[listindex] - 先提取数据框的指定行,再提取id列:
可选写法:dat[listindex, "id"]、dat[listindex, ]$id
完整可运行示例:
set.seed(42) ## 保证结果可复现 n <- 6 dat <- data.frame(id=c("s1","s2","s2","s3","s4","s4"), date=seq.Date(as.Date("2020-12-26"), as.Date("2020-12-31"), "day"), visit=1:2, age=sample(18:30, n, replace=TRUE)) # 行索引列表,原代码的右赋值`listindex->c(2,4,6)`也可正常运行,这里改为更通用的左赋值写法 listindex <- c(2,4,6) # 执行取值 dat$id[listindex]
运行后输出结果和你要求的一致:
[1] "s2" "s3" "s4"
内容的提问来源于stack exchange,提问作者frankieb
相关产品推荐
相关产品推荐

