значения становятся NA после использования функции left_join () в r - PullRequest
0 голосов
/ 17 апреля 2020

Значение в другом фрейме данных становится NA после того, как я использовал функцию left_join (). И я проверяю ответ здесь [ dplyr :: left_join производит значения NA для новых соединенных столбцов .

Я также указываю аргумент by, но не удалось.

I не знаю почему.



qx_p2 <- structure(list(province = c("安徽", "安徽", "安徽", "安徽", "安徽"
), date = c("2020-01-21", "2020-01-22", "2020-01-23", "2020-01-24", 
            "2020-01-25"), PRS = c(1013.9035387141, 1011.48779584751, 1014.28302402211, 
                                   1019.16970261716, 1018.92203467498), PRS_Sea = c(1024.73084750567, 
                                                                                    1022.22210612717, 1025.02632842026, 1029.97905104403, 1029.77650132275
                                   ), PRS_Max = c(1014.26828869048, 1011.80445613662, 1014.51628117914, 
                                                  1019.43671957672, 1019.31935504063), PRS_Min = c(1013.7138513322, 
                                                                                                   1011.13447054516, 1013.86811271731, 1018.75406934996, 1018.62469257842
                                                  ), WIN_S_Max = c(2.30187606292517, 2.08586132369615, 2.76893908257748, 
                                                                   4.22074853552532, 3.63427225056689), WIN_S_Inst_Max = c(3.44360343442933, 
                                                                                                                           3.09963836923658, 4.28499952758881, 6.68930898053666, 5.80619165721844
                                                                   ), WIN_D_INST_Max = c(116.878029336735, 218.745851048753, 120.88310303288, 
                                                                                         72.1640447845805, 72.0331526360544), WIN_D_Avg_2mi = c(116.23329724764, 
                                                                                                                                                210.524530689871, 113.104009452075, 68.7694017991261, 70.322008604388
                                                                                         ), WIN_S_Avg_2mi = c(1.77558118386243, 1.49959490740741, 2.20936874055178, 
                                                                                                              3.47942613851096, 2.99431642101285), WIN_D_S_Max = c(116.68018866665, 
                                                                                                                                                                   218.180671371681, 120.40502999811, 71.0831467309146, 68.3670670351474
                                                                                                              ), TEM = c(3.81968088624339, 5.16464226662887, 6.82721856103553, 
                                                                                                                         5.98099596088435, 4.8940626181028), TEM_Max = c(4.04776301492819, 
                                                                                                                                                                         5.35075514928193, 6.97597470238095, 6.15192401266062, 5.07960293839758
                                                                                                                         ), TEM_Min = c(3.49020455404384, 4.95346053004535, 6.65049142573696, 
                                                                                                                                        5.85618067365835, 4.76455794123205), RHU = c(85.9359859221466, 
                                                                                                                                                                                     96.1710766250945, 91.749678760393, 88.3347741874528, 80.693040202192
                                                                                                                                        ), VAP = c(6.98015376984127, 8.55406509826153, 9.08114866780046, 
                                                                                                                                                   8.27843124055178, 6.98599714191232), RHU_Min = c(83.965092356387, 
                                                                                                                                                                                                    95.6411387471655, 90.9997401738473, 87.3134436413454, 79.2219635770975
                                                                                                                                                   ), PRE_1h = c(0.102133763227513, 0.422205333522298, 1488.33246492347, 
                                                                                                                                                                 0.0715384070294785, 372.116791028911)), class = c("tbl_df", "tbl", 
                                                                                                                                                                                                                   "data.frame"), row.names = c(NA, -5L))

covid_p2 <- structure(list(province = c("安徽", "安徽", "安徽", "安徽", "安徽"
), date = c("2020/1/21", "2020/1/22", "2020/1/23", "2020/1/24", 
            "2020/1/25"), 新增确诊 = c(0L, 1L, 14L, 24L, 21L)), class = c("tbl_df", 
                                                                      "tbl", "data.frame"), row.names = c(NA, -5L))



dat2 <- covid_p2 %>% left_join(qx_p2, by = c('province' = 'province', 'date' = 'date'))
dat2

1 Ответ

0 голосов
/ 17 апреля 2020

Ваши date столбцы являются символьными столбцами и имеют разный формат:

qx_p2$date
# "2020-01-21" "2020-01-22" "2020-01-23" "2020-01-24" "2020-01-25"

covid_p2$date
# "2020/1/21" "2020/1/22" "2020/1/23" "2020/1/24" "2020/1/25"

Вы можете получить их в том же формате, например, применив as.Date(...):

covid_p2$date <- as.Date(covid_p2$date)
qx_p2$date <- as.Date(qx_p2$date)

После этого ваше объединение работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...