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

R语言:如何根据特定行的值删除列

在R中删除Total行值小于10的列

首先把你的表格转换成R的数据框,这里先模拟你的数据:

# 模拟你的数据
df <- data.frame(
  ID = c("A", "B", "C", "Total"),
  Column_A = c(5, 0, 7, 12),
  Column_B = c(1, 0, 1, 2),
  Column_C = c(2, 3, 1, 6),
  Column_D = c(10, 15, 22, 47),
  stringsAsFactors = FALSE
)

方法一:基础R操作(无需额外包)

  • 找到Total行的位置:
total_row <- which(df$ID == "Total")
  • 提取Total行中各数值列的数值(排除ID列):
total_values <- df[total_row, -1]
  • 确定要保留的列:ID列必须保留,其他列只要Total值≥10就保留
keep_cols <- c(TRUE, total_values >= 10)
  • 筛选得到新的数据框:
filtered_df <- df[, keep_cols]

方法二:用dplyr包(更简洁的tidy风格)

如果你习惯用tidyverse系列工具,先加载dplyr:

library(dplyr)

然后一行代码完成筛选:

filtered_df <- df %>%
  select(
    ID,
    where(~ .[df$ID == "Total"] >= 10)
  )

两种方法最终得到的filtered_df都会保留ID、Column_A和Column_D列,符合你的需求。

内容的提问来源于stack exchange,提问作者Muller I.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 23:43:26