Мне нужно объединить два фрейма данных, но я не могу получить вывод, который мне понятен. Я пробовал использовать левое и полное объединение, но у обоих есть проблемы. один из этих фреймов данных, главный, содержит информацию о ...

1
qwerty 21 Мар 2021 в 09:27

1 ответ

Лучший ответ

Используйте parquet$prov_id <- toupper(parquet$prov_id), чтобы получить букву Z в верхнем регистре в parquet, как прокомментировал Уильям. Вот как:

library(tidyverse)

main <- tribble(
~year,    ~prov_id, ~tech_1, ~teach, ~beds, ~nonprof, ~govt,
"2007", "11Z111", 0, 0, 35, 0, 1, 
"2010", "11Z111", 0, 0, 35, 0, 1, 
"2001", "11Z111", 0, 0, 35, 0, 1, 
"2005", "11Z111", 0, 0, 35, 0, 1, 
"2002", "11Z111", 0, 0, 35, 0, 1, 
"2004", "11Z111", 0, 0, 35, 0, 1)


parquet <- tribble(
  ~prov_id,   ~treat, ~`__index_level_0__`,
"11z111", 0, 0,
"11z113", 0, 1, 
"11z132", 0, 2,
"11z135", 0, 3, 
"11z13z", 0, 4, 
"11z142", 0, 5) 

parquet$prov_id <- toupper(parquet$prov_id)

df_joined <- main %>% 
  full_join(parquet, by="prov_id")

enter image description here

1
TarJae 21 Мар 2021 в 07:08