gpt4 book ai didi

r - R中的条件合并/替换

转载 作者:行者123 更新时间:2023-12-03 11:20:30 26 4
gpt4 key购买 nike

我有两个数据框:

df1
x1 x2
1 a
2 b
3 c
4 d


df2
x1 x2
2 zz
3 qq

我想根据 df1$x1 和 df2$x2 之间的条件匹配将 df1$x2 中的某些值替换为 df2$x2 中的值以生成:
df1
x1 x2
1 a
2 zz
3 qq
4 d

最佳答案

使用 match() ,假设 df1 中的值是唯一的。

df1 <- data.frame(x1=1:4,x2=letters[1:4],stringsAsFactors=FALSE)
df2 <- data.frame(x1=2:3,x2=c("zz","qq"),stringsAsFactors=FALSE)

df1$x2[match(df2$x1,df1$x1)] <- df2$x2
> df1
x1 x2
1 1 a
2 2 zz
3 3 qq
4 4 d

如果值不唯一,请使用:
for(id in 1:nrow(df2)){
df1$x2[df1$x1 %in% df2$x1[id]] <- df2$x2[id]
}

关于r - R中的条件合并/替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6112260/

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