У меня есть два очень похожих кадра данных, которые я пытаюсь связать вместе, но столкнулся с проблемой.Я использовал dput (), чтобы получить 3 столбца (один из которых проблематичен) и 10 строк из каждого кадра данных.
str1 = structure(list(period_type = c("half", "half", "half", "half",
"half", "half", "half", "half", "half", "half"), period_number = c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), clock = structure(c("72000",
"70800", "69720", "69600", "69480", "68280", "67200", "66780",
"65160", "65160"), class = c("hms", "difftime"), units = "secs")), row.names = c(NA,
10L), class = "data.frame")
str2 = structure(list(period_type = c("half", "half", "half", "half",
"half", "half", "half", "half", "half", "half"), period_number = c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), clock = structure(c(72000,
71640, 70140, 70020, 69720, 69720, 69720, 69720, 69300, 67860
), class = c("hms", "difftime"), units = "secs")), row.names = c(NA,
10L), class = "data.frame")
> head(plyr::rbind.fill(str1, str2))
period_type period_number clock
1 half 1 NA:NA:NANA
2 half 1 NA:NA:NANA
3 half 1 NA:NA:NANA
4 half 1 NA:NA:NANA
5 half 1 NA:NA:NANA
6 half 1 NA:NA:NANA
Когда я выполняю rbind.fill
, столбец часов превращается в NA: NA: NANA, чторасстраиваетКогда я проверяю классы для столбца clock
в каждом кадре данных, они «кажутся» одинаковыми:
> class(str1$clock)
[1] "hms" "difftime"
> class(str2$clock)
[1] "hms" "difftime"
... однако, к счастью, dput()
открыл мне, чтозначения в векторе часов являются строками для str1 и числами для str2.Опять же, я не создавал эти демонстрационные str
фреймы данных с нуля, они из моих полных фреймов данных, так что это явно отличается в столбце clock
между фреймами данных.
Как я могу исправить любой из них, чтобы типы столбцов были согласованы?Заранее спасибо!!