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

使用dplyr包合并两个R数据框并填充指定列值的实现问题

实现代码(基于dplyr)

首先加载依赖包:

library(dplyr)

完整处理逻辑:

# 提取original2中存储的data1、data2值
data_fill <- original2 %>% 
  filter(!is.na(data)) %>% 
  pull(data)

# 处理第一个数据集
processed_original1 <- original_1 %>%
  # 移除不需要的type列
  select(-type) %>%
  # 补充公共字段并填充对应值
  mutate(
    data = NA_character_,
    data_1 = "Non_changing_data",
    data_2 = "Non_changing_data",
    # 给指定行填充data值
    data = case_when(
      id == 9 ~ data_fill[1],
      id == 11 ~ data_fill[2],
      TRUE ~ data
    )
  )

# 处理第二个数据集
processed_original2 <- original2 %>%
  # 统一列名和第一个数据集对齐
  rename(
    id = id1,
    type = type1,
    city = city1,
    state = state1,
    zip = zip1
  ) %>%
  # 过滤掉无id的无效行
  filter(!is.na(id)) %>%
  # 移除不需要的type列
  select(-type)

# 合并两个数据集并输出最终结果
final_df <- bind_rows(processed_original1, processed_original2) %>%
  arrange(id) %>%
  # 选择最终需要输出的列
  select(id, city, state, data, data_1, data_2)

运行print(final_df)即可得到你需要的目标数据集。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:09:00