Потерять типы классов df после rbind () для символа df? - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь связать вместе два dfs..df3 <- rbind (df1, df2) .., где df1 и df2 очень похожи, за исключением того, что один имеет классы столбцов нескольких типов (числовой, логический, дата, символ), а другой df2 имеет практически одинаковые элементы, но все классы являются символами.</p>

После rbind () новый df3 имеет все классы символов.Но я хочу, чтобы новый df3 сохранял (или восстанавливал) классы из df1 (с числовыми, логическими, классами date .. классы)

Каков наилучший способ сохранить классы столбцов во время rbind (), илипереназначить классы столбцов после rbind ()?..Используя классы из другого аналогично структурированного df?

Я видел полурешение для цикла for: Я хотел бы переназначить 128 классов столбцов со списком / вектором классов столбцов?

Но это сложно (для меня) и не включает rbind () или rbindlist ()

пример df

df1 <- tibble(
  a = c(1,2,3,4),
  b = c(TRUE, FALSE, FALSE, TRUE),
  d = c('hi', 'thanks', 'for', 'helping')
)

аналогичный df1,но все символы

df1_char <- map_dfr(df1, as.character) 

связывают исходный df и символ df

bound_df <- rbind(df1, df1_char)

теперь bound_df является символом, но я хочу, чтобы типы классов были из df1

bound_df  

Как bound_df может иметь те же классы столбцов, что и df1?

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