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

动态安全协议

所以我在 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

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

aserrin55
df1$status[df1$ID %in% df2$ID] <- df2$status[df2$ID %in% df1$ID]

那这个呢?您只需填写作业中的条件

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

创建一个循环或函数来收集使用r?中另一个数据帧中的一个数据帧中的其他列值计算的多个向量的值。

使用grep将值从R中的一个数据帧替换为另一个

R - 在另一个数据帧的行中插入数据帧中的值,列名作为 ID

数据帧乘法并使用R存储在另一个数据帧中

根据时间范围从R中的另一个数据帧更改ID?

如何为R中另一个数据帧的每个ID复制数据帧的所有行?

Python:使用 id 将字符串值从一个数据帧映射到另一个数据帧,同时在旧数据帧中创建一个新列

用来自另一个数据帧的匹配 ID 替换 Pandas 中的单元格值

如何使用来自 r 中另一个数据帧的已知公式填充 NA 值

用R替换另一个数据帧中给定多个条件的数据帧值

R替换另一个数据帧中的多列值

使用不具有相同列名的另一个单独数据帧中的一个数据帧中的 id 获取数据并将字符串附加到一个值

使用另一个更新一个数据帧的特定行,而不会非特定地覆盖其他条目(R)

使用另一个数据帧仅更新数据帧中的某些值

R-将一个数据帧中的值与另一个数据帧中的多个值进行匹配

如何用R中的另一个数据帧替换一个数据帧的某些值?

根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

使用 R 中另一个数据帧的日期时间过滤和汇总数据帧中的数据

使用一个数据帧匹配 Pandas 中另一个数据帧中 x 的值并返回 y

在R中:当两个条件之间的条件匹配时,用另一个数据帧的值替换一个数据帧列的值

根据R中另一个数据帧中给出的条件,用NA替换数据帧中的多个值

如何使用一个数据帧中的值通知R中另一数据帧内的求和函数?

使用另一个数据帧更改一个数据帧中的记录值,同时保持记录中的所有其他值不变(Pandas)

在R中将数据帧归类为R中的另一个数据帧

使用另一个数据框作为R中的键替换数据框中的所有值

如何选择值与R中特定列中的另一个数据帧相同的数据帧的行

如果匹配另一个数据帧的 ID,则添加来自 n 个数据帧的值

使用条件使用 R 中的另一个数据框替换数据框的值

使用另一个数据帧更改 Pandas 数据帧中列中的值