You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中保留最后一行值等于指定值x的数据框列?

解决R语言提取指定列的问题

嘿,我来帮你搞定这个问题!首先咱们得先理清你的核心需求:你要提取原数据框中最后一行等于50的所有列,同时保留所有行的这些列。你之前用subset函数出错,是因为subset是用来筛选行的工具,不是用来选列的,这就是报错的根源~

下面是具体的实现步骤:

  1. 先正确定义你的数据框(注意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)
))
  1. 定位最后一行值为50的列的索引:
# 获取最后一行等于50的列位置
cols_to_keep <- which(DF[nrow(DF), ] == 50)
  1. 提取这些目标列得到结果数据框:
# 提取目标列
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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:40:45