Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换r中两个数据帧之间的所有列值_R_Dataframe_Replace_Dplyr_Data Wrangling - Fatal编程技术网

替换r中两个数据帧之间的所有列值

替换r中两个数据帧之间的所有列值,r,dataframe,replace,dplyr,data-wrangling,R,Dataframe,Replace,Dplyr,Data Wrangling,我有两个数据帧。其中一个包含对我正在研究的一个主题的观察。然而,由于调查,一个变量从显示参与者的countryname转换为一个数字,因此我下载了一个表格,其中国家获得的代码(例如31是加拿大等)位于带有数字和国家的df中。 我想用第二个数据框中的国家替换原始数据框中的数字,但每次都失败了 这里我使用一个示例数据帧: df1 <- data.frame(list(Country=c("1","3","4","2"

我有两个数据帧。其中一个包含对我正在研究的一个主题的观察。然而,由于调查,一个变量从显示参与者的countryname转换为一个数字,因此我下载了一个表格,其中国家获得的代码(例如31是加拿大等)位于带有数字和国家的df中。 我想用第二个数据框中的国家替换原始数据框中的数字,但每次都失败了

这里我使用一个示例数据帧:

df1 <- data.frame(list(Country=c("1","3","4","2"), Obs=c("Stuff1","Stuff2","Stuff3","Stuff4")))
df2 <- data.frame(list(Number=c("1","2","3","4"), Country=c("C1","C2","C3","C4")))
df1这是否有效:

library(dplyr)
df1 %>% inner_join(df2, by = c('Country' = 'Number')) %>% 
rename(N = Country, Country = Country.y) %>% select(-1)
     Obs Country
1 Stuff1      C1
2 Stuff2      C3
3 Stuff3      C4
4 Stuff4      C2
 
库(tidyverse)
df1%
左联合(df2,by=“Number”)
df1$newcountry <- data$Country[match(df1$Country, df2$Country)]
library(dplyr)
df1 %>% inner_join(df2, by = c('Country' = 'Number')) %>% 
rename(N = Country, Country = Country.y) %>% select(-1)
     Obs Country
1 Stuff1      C1
2 Stuff2      C3
3 Stuff3      C4
4 Stuff4      C2
 
  Number    Obs Country
1      1 Stuff1      C1
2      3 Stuff2      C3
3      4 Stuff3      C4
4      2 Stuff4      C2