gpt4 book ai didi

r - 使用来自另一个 data.frame 的数据和条件修改 data.frame 列

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

我有 2 个 data.frames

df <- data.frame(addr=c('a','b','c','d'), num = c(1,2,3,4))

> df
addr num
1 a 1
2 b 2
3 c 3
4 d 4

df2 <- data.frame(addr=c('a','b','d'), num=c(100,200,500))

> df2
addr num
1 a 100
2 b 200
3 d 500

如果条件 df$addr 匹配 df2$addr,我想用 df2$num 中的值替换 df$num 中的值。我设法用下面的代码得到了这个

 df[,"num"] <- sapply(df[,"addr"], function(x) ifelse(x %in% df2$addr,df2$num[match(x,df2$addr)],df[df$addr==x,]$num))

> df
addr num
1 a 100
2 b 200
3 c 3
4 d 500

我想知道是否有使用 dplyr 或 data.table 的更优雅的方法?

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