不能组合X<字符>和X<Double> [英] Can't Combine X <character> and X <double>

查看:17
本文介绍了不能组合X<字符>和X<Double>的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用以下内容将各种.csv文件合并到一个数据帧中: df<- list.files(path = "C:/Users...", pattern = "*.csv", full.names = TRUE) %>% lapply(read_csv) %>% bind_rows clean

但是,我得到一个错误,说我不能组合X字符变量和X双变量。 有没有办法将其中一个变量转换为字符或双精度变量?

由于每个CSV文件都略有不同,从我初学者的角度来看,我认为lApply在这种情况下是最好的,除非有更简单的方法来解决这个问题。

感谢大家的时间和关注!

推荐答案

您可以在所有文件中将X变量更改为字符。您还可以使用map_df将所有文件合并到一个数据帧中。

library(tidyverse)

result <- list.files(path = "C:/Users...", pattern = "*.csv", full.names = TRUE) %>% 
  map_df(~read_csv(.x) %>% mutate(X = as.character(X)))

如果有更多列出现类型不匹配问题,您可以将所有列更改为字符,合并数据并使用type_convert更改其类。

result <- list.files(path = "C:/Users...", pattern = "*.csv", full.names = TRUE) %>% 
  map_df(~read_csv(.x) %>% mutate(across(.fns = as.character))) %>%
  type_convert()

这篇关于不能组合X&lt;字符&gt;和X&lt;Double&gt;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆