gpt4 book ai didi

使用 R 中另一个数据帧的其他匹配 ID 替换数据帧中的值

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:56 25 4
gpt4 key购买 nike

<分区>

所以我在 R 中遇到问题,无法通过使用第二个数据框以及匹配的 ID 来更新主数据框中的值。

下面是数据文件演示:首先我的主要数据是这样的:

df1 <- data.frame(ID = c("A1", "A2", "B1", "B2", "C1", "C2"),
year = 2000:2005, status = c("0","1","0","0","1","1"))

ID year status
A1 2000 0
A2 2001 1
B1 2002 0
B2 2003 0
C1 2004 1
C2 2005 1

第二个数据,我想将“状态”值替换为主要数据。

df2 = data.frame(ID = c("A1", "B2","C1"), status = c("1", "1", "0"))

ID status
A1 1
B2 1
C1 0

最终想要的输出是这样的:

 ID year status
A1 2000 1
A2 2001 1
B1 2002 0
B2 2003 1
C1 2004 0
C2 2005 1

如您所见,状态列现在已使用第二个数据更新。好吧,我试过合并/左连接,但我无法得到解决方案,部分数据已更新,部分数据未更新。

这里给出了解决方案,主要是针对第二个数据集大于第一个数据集的数据集,正如你猜的那样,我最后有很多 NA。

也试过这段代码:

df1$status[df1$id %in% df2$id] <- df2$status

结果是一样的。因此,如果您能帮我解决问题所在(是否应该对某些内容进行静音或更改),那就太好了。

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