gpt4 book ai didi

用另一列R替换一列中的值

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

我有两个不同维度的表,现在我想根据用户ID将值datA $ swl1替换为datB $ swl2中的值。

数据

 id swl1
1 0.8
2 0.7
3 0.4
4 0.7
5 0.0

datB
id   swl2
1 0.8
3 0.6
5 0.7

输出

datA(此处swl1被swl2中的新值替换,但并非所有id都有新值,对于没有的id,将保留原始值)
 id swl1
1 0.8
2 0.7
3 0.6
4 0.7
5 0.7

这该怎么做?

最佳答案

您可以使用merge来匹配id,然后在swl1列中替换datB中存在的那些项:

datC <- merge(datA, datB, all.x=TRUE)
datC
## id swl1 swl2
## 1 1 0.8 0.8
## 2 2 0.7 NA
## 3 3 0.4 0.6
## 4 4 0.7 NA
## 5 5 0.0 0.7

这与行匹配。现在,将 swl1列中的那些值替换为 NA列中的non- swl2值:
datC$swl1 <- ifelse(is.na(datC$swl2), datC$swl1, datC$swl2)
datC$swl2 <- NULL
datC
## id swl1
## 1 1 0.8
## 2 2 0.7
## 3 3 0.6
## 4 4 0.7
## 5 5 0.7

关于用另一列R替换一列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32239581/

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