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

R语言如何基于两列条件填充数据框Size列空值且保留原有值

R语言数据框指定条件填充空值实现方案

需求说明

仅修改数据框A的Size列空值,保留已有值不变:当Box=6且Document=75时,对应行空的Size赋值为big。

实现方法

方法1:基础R实现(无需依赖第三方包)

直接按条件筛选目标行赋值即可:

# 筛选满足三个条件的行:Box为6、Document为75、Size为空,赋值为big
A[A$Box == 6 & A$Document == 75 & A$Size == "", "Size"] <- "big"

方法2:dplyr实现(适配tidyverse工作流)

使用mutate+case_when逻辑,默认保留原有值:

library(dplyr)
A <- A %>%
  mutate(Size = case_when(
    Box == 6 & Document == 75 & Size == "" ~ "big",
    .default = Size
  ))

运行结果验证

执行完上述任意一种方法后,输出数据框A的结果如下:

# A tibble: 7 × 3
    Box Document Size 
  <dbl>    <dbl> <chr>
1     6       75 big  
2     6       75 big  
3     7       23 big  
4     7       23 big  
5     7       25 ""   
6     8       13 big  
7     8       13 big  

完全符合需求:原有非空Size值保留,仅前两行符合条件的空值被填充为big,第五行不符合条件的空值保持不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:36:03