如何在R语言中保留最后一行值等于指定值x的数据框列?
解决R语言提取指定列的问题
嘿,我来帮你搞定这个问题!首先咱们得先理清你的核心需求:你要提取原数据框中最后一行等于50的所有列,同时保留所有行的这些列。你之前用subset函数出错,是因为subset是用来筛选行的工具,不是用来选列的,这就是报错的根源~
下面是具体的实现步骤:
- 先正确定义你的数据框(注意
rbind默认返回的是矩阵,最好转成标准数据框):
# 创建并转换为数据框 DF <- as.data.frame(rbind( c(10,20,30,40,50), c(21,68,45,33,21), c(11,98,32,10,30), c(50,70,70,70,50) ))
- 定位最后一行值为50的列的索引:
# 获取最后一行等于50的列位置 cols_to_keep <- which(DF[nrow(DF), ] == 50)
- 提取这些目标列得到结果数据框:
# 提取目标列 resultDF <- DF[, cols_to_keep]
你也可以把步骤2和3合并成一行更简洁的代码:
resultDF <- DF[, which(DF[nrow(DF), ] == 50)]
运行后就能得到你预期的resultDF:
V1 V5 1 10 50 2 21 21 3 11 30 4 50 50
内容的提问来源于stack exchange,提问作者mika
相关产品推荐
相关产品推荐

