在rbind()之后将df类类型丢失为字符df?

时间:2019-02-17 08:48:02

标签: r class dataframe rbind

我正在尝试将两个dfs绑定在一起。.df3 <-rbind(df1,df2)..其中df1和df2非常相似,只是其中一个列类具有多种类型(数字,逻辑,日期,字符) ),而其他df2基本上具有相同的元素,但所有类都是字符。

在rbind()处理之后,新的df3具有所有字符类。但是,我希望新的df3保留(或恢复)df1中的类(带有数字,逻辑,日期..类)

在rbind()期间保留列类或在rbind()之后重新分配列类的最佳方法是什么? ..使用其他结构类似的df中的类吗?

我在这里看到了for-loop半解:I would like to reassign 128 column classes with a list/vector of column classes?

但这对我而言很复杂,并且不涉及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具有相同的列类?

0 个答案:

没有答案