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

如何通过创建新变量为数据框含NA的行赋值分组?

解决方案

你可以用以下几种简单方法实现需求:

基础R方法

直接用is.na()判断A列的缺失值,把逻辑结果转为整数(TRUE对应1,FALSE对应0),或者用ifelse明确指定赋值:

# 方法1:逻辑值转整数
df$group <- as.integer(is.na(df$A))

# 方法2:用ifelse直接指定结果
df$group <- ifelse(is.na(df$A), 1, 0)

tidyverse(dplyr)方法

如果习惯用管道式写法,可借助dplyr包实现:

library(dplyr)

# 逻辑值转整数写法
df <- df %>%
  mutate(group = as.integer(is.na(A)))

# ifelse写法
df <- df %>%
  mutate(group = ifelse(is.na(A), 1, 0))

运行任意一种方法后,数据集都会得到你期望的结果:

ABCgroup
1110
0010
NA101
1100
NA001

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 20:22:03