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

R语言数据集清洗:为dataframe中company_name列的NA单元格填充值

解决方案

方法1:使用tidyverse套件(代码最简洁)

通过dplyr分组+tidyr的填充函数实现,适配性更强:

# 加载依赖包
library(dplyr)
library(tidyr)

df_fixed <- df %>%
  # 按id分组,保证每个id对应唯一公司名填充逻辑
  group_by(id) %>%
  # 向下填充company_name的空值,若存在公司名出现在分组末尾的情况可把.direction改成"downup"适配
  fill(company_name, .direction = "down") %>%
  ungroup() %>%
  # 直接附加你后续要删除无董事姓名行的需求,不需要可以删掉这行
  filter(!is.na(directors))

方法2:纯Base R实现(无需安装额外包)

用基础函数ave实现分组填充:

# 按id分组,每组取第一个非空的公司名填充全组
df$company_name <- ave(df$company_name, df$id, FUN = function(x) na.omit(x)[1])
# 删除directors为空的行,不需要可以删掉这行
df_fixed <- df[!is.na(df$directors), ]

两种方法都可以输出你需要的结果,默认保留了原directors列的空值,可直接通过附加的过滤步骤删除无董事信息的行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:30:01