gpt4 book ai didi

基于另一个数据帧替换数据帧中的值

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

我有以下两个数据框:

>df1<-data.frame(A=c(0,0,0),B=c(0,201,0),C=c(0,467,0))
A B C
1 0 0 1
2 0 201 467
3 0 0 0

>df2<-data.frame(A=c(201,467),B=c('abc','def'))
A B
1 201 abc
2 467 def

我想使用 df2 中匹配的“B”值替换 df1 中的值,创建一个如下所示的数据框:
   A   B   C
1 NA NA NA
2 NA abc def
3 NA NA NA

我可以使用以下代码逐列完成此操作:
>df2$B[match(df1$B,df2$A)]

不幸的是,我正在处理一个庞大的数据集,因此更愿意一次匹配所有列。任何帮助将非常感激。

最佳答案

你可以做:

df1[] <- setNames(df2$B, df2$A)[as.character(unlist(df1))]

关于基于另一个数据帧替换数据帧中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16408339/

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