Sloučení datových souborů s left_join()

0

Otázka

im pracuje na sloučení datových sad s funkcí left_join().

Soubory dat, im pomocí jsou výše uvedené:

> new_GemData<-lapply(GemData, head)
> dput(head(new_GemData))
list(cntry = c(".", "ABW", "AFG", "AGO", "AIA", "ALB"), all_tea = c(6.2942258871149, 
NA, NA, 26.1555808326023, NA, NA), all_nes_entre = c(1.88915438310442, 
NA, NA, 7.6296866239702, NA, NA), all_opp_entre = c(4.32969440907848, 
NA, NA, 17.1323566956254, NA, NA), all_tea_male_entre = c(8.96311504196867, 
NA, NA, 26.9322388085985, NA, NA), all_tea_female_entre = c(3.53006299869866, 
NA, NA, 25.5152945703973, NA, NA))
> new_Hofstede<-lapply(Hofstede, head)
> dput(head(new_Hofstede))
list(ctr = c("ALB", "ALG", "AND", "ARE", "ARG", "ARM"), country = c("Albania", 
"Algeria", "Andorra", "United Arab Emirates", "Argentina", "Armenia"
), `Power Distance` = c(".", ".", ".", "80", "49", "."), Individualism = c(".", 
".", ".", "38", "46", "."), Masculinity = c(".", ".", ".", "53", 
"56", "."), `Uncertainty Avoidance` = c(".", ".", ".", "68", 
"86", "."))
> new_GpsData<-lapply(GpsData, head)
> dput(head(new_GpsData))
list(country = c("Afghanistan", "Algeria", "Argentina", "Australia", 
"Austria", "Bangladesh"), isocode = c("AFG", "DZA", "ARG", "AUS", 
"AUT", "BGD"), patience = c(-0.201360121369362, 0.0598152466118336, 
-0.229307979345322, 0.65700376033783, 0.608285009860992, 0.0811367109417915
), risktaking = c(0.120764262974262, 0.391530483961105, 0.0415031686425209, 
0.137136548757553, -0.0618291534483433, -0.198067754507065), 
    posrecip = c(0.2896409034729, -0.598255336284637, 0.159679308533669, 
    0.069660022854805, 0.161046594381332, 0.154367566108704), 
    negrecip = c(0.254712462425232, 0.254900813102722, -0.140457272529602, 
    0.0221897512674332, -0.0554154515266418, 0.113288171589375
    ))

Společné sloupce potřebuji je Země, Jména, vím, že ISO3 je nejvhodnější způsob, jak sloučit je.

Tady im snaží sloučit je:

new_Hofstede$code=countrycode(new_Hofstede$`country`, origin = 'country.name', destination = 'iso3c')

merged_data2 <- new_Hofstede %>% 
  rename(iso3 = 'code') %>% 
  left_join(new_GemData, by = c('iso3' = 'cntry') )

all_data2 <- left_join(merged_data2, new_GpsData, by=c("iso3"="isocode"))

EDIT: nevím, jestli sloučení jsem udělal, je správné a rád bych vaše návrhy , návrhy na to, jak spojit tyto soubory dat, GEM, Hofstede a GPS.

left-join r
2021-11-16 17:22:29
1

Nejlepší odpověď

1

Můžete zadat v left_join() to, co název pole je v každé tabulce, není třeba, abyste přejmenovat dopředu. Znamená to dát to, co chcete? Jsem kapku country z new_GpsData protože to už je z jiné tabulky.

library(dplyr)

new_Hofstede %>% 
  left_join(new_GemData, by = c(ctr = "cntry")) %>% 
  left_join(select(new_GpsData, -country), by = c(ctr = "isocode"))
2021-11-16 17:32:37

Pane, takže jsme dosáhli sloučit tyto 3 soubory dat správně ? Chápu váš návrh.
Liam

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................