Проблема слияния фреймов данных: предупреждение, объединяющее фактор и символьный вектор - PullRequest
0 голосов
/ 25 марта 2019

У меня есть два фрейма данных, которые выглядят так:

> df1
county   state   code
ANDERSON Texas   1      
ANDREWS  Texas   2
ANGELINA Texas   3
....

> df2
county   state   citations  year
ANDERSON Texas   124        2011
ANDREWS  Texas   32         2011
ANGELINA Texas   491        2011
....

Я попытался объединить два из них несколькими различными способами:

merge <- full_join(df1, df2, by = c("county", "state"))
merge <- merge(df1, df2, by = c("county", "state"))

В обоих случаях я получаюследующее предупреждение:

Warning message:
Column `county` joining factor and character vector, coercing into
character vector

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

Вот главы двух фреймов данных, которые я пытаюсь объединить:

> dput(head(data))
structure(list(year = c(2011L, 2011L, 2011L, 2011L, 2011L, 2011L
), month = c(1L, 1L, 1L, 1L, 1L, 1L), county = c("ANDERSON COUNTY", 
"ANGELINA COUNTY", "ARANSAS COUNTY", "ATASCOSA COUNTY", "BASTROP COUNTY", 
"BELL COUNTY"), state = structure(c(2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Montana", 
"Texas"), class = "factor"), citations = c(218L, 422L, 55L, 472L, 
745L, 1403L), warnings = c(521L, 711L, 124L, 1173L, 819L, 2242L
), population = c(56760L, 82812L, 24721L, 43589L, 72248L, 276975L
), d_revenue = c(-736L, -6723L, 1134L, 71L, 2308L, 852L), crashes = c(73L, 
133L, 18L, 71L, 95L, 422L), density = c(55, 108.8, 91.9, 36.8, 
83.5, 295.2), unemp_rate = c(8, 8.3, 9.6, 8.5, 8.5, 8), stops = 
c(739L, 1133L, 179L, 1645L, 1564L, 3645L), stops_per_cap = c(0.013019732, 
0.013681592, 0.007240807, 0.037738879, 0.021647658, 0.013160032
), crashes_per_cap = c(0.001286117, 0.001606047, 0.000728126, 
0.001628851, 0.001314915, 0.001523603)), .Names = c("year", "month", 
"county", "state", "citations", "warnings", "population", "d_revenue", 
"crashes", "density", "unemp_rate", "stops", "stops_per_cap", 
"crashes_per_cap"), row.names = c(NA, 6L), class = "data.frame")

> dput(head(codes))
structure(list(county = c("ANDERSON  COUNTY ", "ANDREWS  COUNTY ", 
"ANGELINA  COUNTY ", "ARANSAS  COUNTY ", "ARCHER  COUNTY ", "ARMSTRONG  COUNTY "
), state = structure(c(2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Montana", 
"Texas"), class = "factor"), code = 1:6), .Names = c("county", 
"state", "code"), row.names = c(NA, 6L), class = "data.frame")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...