gpt4 book ai didi

r - 合并两个数据框并替换R中的NA值

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

我有一个主表(a),包含列:id、age 和sex。例如。

a <- data.frame(id=letters[1:4], age=c(18,NA,9,NA), sex=c("M","F","F","M"))
id age sex
1 a 18 M
2 b NA F
3 c 9 F
4 d NA M

我有一个补充表(b),只包含表(a)中的所有缺失数据或表(a)中的重复数据。例如。
b <- data.frame(id=c("a","b","d"), age=c(18,32,20))
id age
1 a 18
2 b 32
3 d 20

现在我想合并这两个表,如下所示:
  id age sex
1 a 18 M
2 b 32 F
3 c 9 F
4 d 20 M

但是,我试过 merge(a,b,by="id",all=T) .结果不是我想要的。有没有办法解决这个问题?谢谢!

最佳答案

我们可以使用 data.table

library(data.table)
setDT(a)[b, agei := i.age, on='id'][is.na(age), age := agei][,agei:= NULL][]
a
# id age sex
#1: a 18 M
#2: b 32 F
#3: c 9 F
#4: d 20 M

关于r - 合并两个数据框并替换R中的NA值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33954292/

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