У меня есть два фрейма данных, которые выглядят так:
> 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")