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

R语言:用dplyr与基础方法删NA行及提取非零test对应列值

解决方案

1. 删除second_column中含NA的行

注:你的数据里second_column的"NA"是字符型字符串,而非R原生缺失值NA,以下分两种场景给出方法:

针对字符型"NA"(当前数据状态)

  • 基础R实现
df_clean <- df[df$second_column != "NA", ]
  • dplyr包实现
library(dplyr)
df_clean <- df %>% filter(second_column != "NA")

针对R原生缺失值(若将字符型"NA"转为原生缺失值后)

先转换缺失值:

df$second_column[df$second_column == "NA"] <- NA

再删除对应行:

  • 基础R实现
# 仅删除second_column的缺失行
df_clean <- df[!is.na(df$second_column), ]
# 若需删除所有含缺失值的行,可用na.omit(谨慎使用,会影响其他列)
df_clean <- na.omit(df)
  • dplyr包实现
# 仅删除second_column的缺失行
df_clean <- df %>% filter(!is.na(second_column))
# 或用drop_na快捷方式
df_clean <- df %>% drop_na(second_column)

2. 提取test列非零对应的first_column值

  • 基础R实现
target_values <- df$first_column[df$test != 0]
# 或用which定位索引
target_values <- df$first_column[which(df$test != 0)]

执行后target_values结果为[1] 3,符合需求。

  • dplyr包实现
target_values <- df %>% filter(test != 0) %>% pull(first_column)

执行后同样得到[1] 3。

内容的提问来源于stack exchange,提问作者Bubbles

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:25:30