Я пытаюсь объединить два списка вместе. Я хотел бы использовать left_join
, так как я знаю это, но это не работает.
Я попытался отобразить оба из следующего, но не могу заставить его работать, и я не знаю, возможно ли этоиспользуя то, что я делаю.
map(df2, ~left_join(., df1, by = "station"))
map(df2, ~reduce(., df1, by = "station"))
список 1 в df1
соответствует списку 2 в df2
, поэтому я использую функцию map
. Я хотел бы просто объединить их на основе значения station
. Вывод для одного списка будет выглядеть так:
# A tibble: 4 x 11
date day month year quarter semester weekday station value stat statistic
<date> <int> <dbl> <dbl> <int> <int> <dbl> <chr> <dbl> <chr> <dbl>
1 2016-01-01 1 1 2016 1 1 1 c_farolillo 17 mean 21.3
2 2016-01-01 1 1 2016 1 1 1 c_farolillo 17 sd 30.0
3 2016-01-01 1 1 2016 1 1 1 plaza_eliptica 25 mean 48.6
4 2016-01-01 1 1 2016 1 1 1 plaza_eliptica 25 sd 47.1
Данные:
df1 <- list(structure(list(station = c("c_farolillo", "plaza_eliptica",
"c_farolillo", "plaza_eliptica"), stat = c("mean", "mean", "sd",
"sd"), statistic = c(21.2942922374429, 48.5710301846855, 30.030258443028,
47.0516928425878)), row.names = c(NA, -4L), class = c("tbl_df",
"tbl", "data.frame")), structure(list(station = c("c_farolillo",
"plaza_eliptica", "c_farolillo", "plaza_eliptica"), stat = c("mean",
"mean", "sd", "sd"), statistic = c(21.2993150684932, 48.5605316914534,
30.0286190461173, 47.0543871206842)), row.names = c(NA, -4L), class = c("tbl_df",
"tbl", "data.frame")), structure(list(station = c("c_farolillo",
"plaza_eliptica", "c_farolillo", "plaza_eliptica"), stat = c("mean",
"mean", "sd", "sd"), statistic = c(21.2947488584475, 48.551889593794,
30.0297291333284, 47.0562416513092)), row.names = c(NA, -4L), class = c("tbl_df",
"tbl", "data.frame")), structure(list(station = c("c_farolillo",
"plaza_eliptica", "c_farolillo", "plaza_eliptica"), stat = c("mean",
"mean", "sd", "sd"), statistic = c(21.2778538812785, 48.5382545766386,
30.0267943793948, 47.0607680244109)), row.names = c(NA, -4L), class = c("tbl_df",
"tbl", "data.frame")), structure(list(station = c("c_farolillo",
"plaza_eliptica", "c_farolillo", "plaza_eliptica"), stat = c("mean",
"mean", "sd", "sd"), statistic = c(21.2614155251142, 48.5214531240057,
30.0269420596686, 47.0676011750263)), row.names = c(NA, -4L), class = c("tbl_df",
"tbl", "data.frame")), structure(list(station = c("c_farolillo",
"plaza_eliptica", "c_farolillo", "plaza_eliptica"), stat = c("mean",
"mean", "sd", "sd"), statistic = c(21.253196347032, 48.5055948249362,
30.0292032528186, 47.0737183354519)), row.names = c(NA, -4L), class = c("tbl_df",
"tbl", "data.frame")))
df2 <- list(structure(list(date = structure(c(16801, 16801), class = "Date"),
day = c(1L, 1L), month = c(1, 1), year = c(2016, 2016), quarter = c(1L,
1L), semester = c(1L, 1L), weekday = c(1, 1), station = c("c_farolillo",
"plaza_eliptica"), value = c(17, 25)), row.names = c(NA,
-2L), class = c("tbl_df", "tbl", "data.frame")), structure(list(
date = structure(c(16802, 16802), class = "Date"), day = c(2L,
2L), month = c(1, 1), year = c(2016, 2016), quarter = c(1L,
1L), semester = c(1L, 1L), weekday = c(0, 0), station = c("c_farolillo",
"plaza_eliptica"), value = c(9, 29)), row.names = c(NA, -2L
), class = c("tbl_df", "tbl", "data.frame")), structure(list(
date = structure(c(16803, 16803), class = "Date"), day = c(3L,
3L), month = c(1, 1), year = c(2016, 2016), quarter = c(1L,
1L), semester = c(1L, 1L), weekday = c(0, 0), station = c("c_farolillo",
"plaza_eliptica"), value = c(8, 18)), row.names = c(NA, -2L
), class = c("tbl_df", "tbl", "data.frame")), structure(list(
date = structure(c(16804, 16804), class = "Date"), day = c(4L,
4L), month = c(1, 1), year = c(2016, 2016), quarter = c(1L,
1L), semester = c(1L, 1L), weekday = c(1, 1), station = c("c_farolillo",
"plaza_eliptica"), value = c(3, 11)), row.names = c(NA, -2L
), class = c("tbl_df", "tbl", "data.frame")), structure(list(
date = structure(c(16805, 16805), class = "Date"), day = c(5L,
5L), month = c(1, 1), year = c(2016, 2016), quarter = c(1L,
1L), semester = c(1L, 1L), weekday = c(1, 1), station = c("c_farolillo",
"plaza_eliptica"), value = c(4, 13)), row.names = c(NA, -2L
), class = c("tbl_df", "tbl", "data.frame")), structure(list(
date = structure(c(16806, 16806), class = "Date"), day = c(6L,
6L), month = c(1, 1), year = c(2016, 2016), quarter = c(1L,
1L), semester = c(1L, 1L), weekday = c(0, 0), station = c("c_farolillo",
"plaza_eliptica"), value = c(4, 9)), row.names = c(NA, -2L
), class = c("tbl_df", "tbl", "data.frame")))