gpt4 book ai didi

r - 如何使用在r中重复的另一个数据框中的特定列更新数据框中的新列?

转载 作者:行者123 更新时间:2023-12-04 08:58:52 24 4
gpt4 key购买 nike

大家好,我的 df1 看起来像

MNO  DOB
123 NA
123 NA
234 NA
234 NA
345 NA
456 NA
456 NA
我的 df2 有
MNO  DOB
123 22-04-1996
234 16-06-1994
345 05-05-1990
456 18-08-2000
我使用合并来获得结果使用 df3 <- merge(df1,df2,by.x = "MNO",all.x = TRUE)
我得到的输出看起来像
MNO  DOB
123 22-04-1996
123 NA
234 16-06-1994
234 NA
345 05-05-1990
456 18-08-2000
456 NA
预期成绩 :
MNO  DOB
123 22-04-1996
123 22-04-1996
234 16-06-1994
234 16-06-1994
345 05-05-1990
456 18-08-2000
456 18-08-2000

最佳答案

根据显示的示例,列应由同一列“MNO”合并,因此我们可以使用 by 而不是 by.x

merge(df1[1], df2, by = "MNO", all.x = TRUE)
# MNO DOB
#1 123 22-04-1996
#2 123 22-04-1996
#3 234 16-06-1994
#4 234 16-06-1994
#5 345 05-05-1990
#6 456 18-08-2000
#7 456 18-08-2000

如果 'df3' 的输出基于不同的代码,则在 merge 步骤之后,我们可以从 fill 中提取 tidyr 以用之前的非 NA 填充 NA 元素
library(tidyr)
library(dplyr)
df3 <- df3 %>%
fill(DOB)

关于r - 如何使用在r中重复的另一个数据框中的特定列更新数据框中的新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63660722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com