r - rbind 包含“double”和“charater”的行
问题描述
我正在尝试将几个具有相同列标题的 Excel 工作表导入一个大数据框中。我可以使用此代码导入所有文件,但是当涉及到 bind_rows 时,它会失败。
当我运行代码时,出现此错误:
错误:无法组合
..1$mxtotpr
<double> 和..37$mxtotpr
<character> 。
df <- list.files(full.names = TRUE) %>%
lapply(read_excel) %>%
bind_rows
由于缺少数据,我的 mxtotpr 列包含很多空行,这是导致问题的原因吗?
如何将所有文件组合成一个大数据框?
解决方案
您的列是不同的格式,例如:
df1=data.frame(A=c('a','b'),B=c(1/2,1/3))
df2=data.frame(A=c('c','d'),B=c('e','f'))
bind_rows(df1,df2)
错误:无法组合
..1$B
和..2$B
。
一种解决方法是将有问题的列转换为字符,例如:
df1a = data.frame(A=c('a','b'), B=as.character(c(1/2,1/3)))
df_combined = bind_rows(df1a,df2)
结果:
df_combined
A B
1 a 0.5
2 b 0.333333333333333
3 c e
4 d f
但是,正如@Bloxx 所建议的那样,您最好了解数据的外观以及通过该read_excel()
函数导入数据时发生的情况。
推荐阅读
- mysql - 获取mysql中没有数据或空值的表列
- scala - scala中getOrElse的用途是什么
- c# - Visual Studio 无法启动程序访问被拒绝
- javascript - fs.readFile 不是函数
- wordpress - 问:如何在 NGINX SSL 反向代理后面的官方 Wordpress Container 中配置 Apache
- numpy - Numpy最小二乘解决方案不准确的结果
- python - 来自文件夹的 Python 循环副本在 linux 中有效,但在 win 系统中无效
- javascript - keydown 事件:如何使用 preventdefault 而不触发更改事件
- python - Matplotlib 在表格中更改字体大小(只是标题) - python
- javascript - 传单弹出窗口第二次不起作用