【问题标题】:R: bind_rows with unfd valuesR:具有 unfd 值的 bind_rows
【发布时间】:2017-09-18 20:34:55
【问题描述】:

我正在寻找以下问题的简单答案:

样本数据,data4和data3相似,data1和data2相似:

 data4 <-                                            X__1       X__2
                                                     <chr>     <dbl>
                     No-C1-PG3.7-LDI0-LDE0-LB0.045-PDC0-D10  -12.27027
                     No-C0.95-PG3.7-LDI0-LDE0-LB0.045-PDC0-D10  Undf

 data1 <-                                        X__1       X__2
                Yes-C0.9-PG3.7-LDI0-LDE0-LB0.045-PDC0-D10 -12.2
                Yes-C0.85-PG3.7-LDI0-LDE0-LB0.045-PDC0-D10   20
                 Yes-C0.8-PG3.7-LDI0-LDE0-LB0.045-PDC0-D10 -15.2
                Yes-C0.75-PG3.7-LDI0-LDE0-LB0.045-PDC0-D10 -19.2

我正在尝试绑定两个数据集的行:

data1 <- read_excel("~/location1.xlsx")
data2 <- read_excel("~/location2.xlsx")
data3 <- read_excel("~/location3.xlsx")
data4 <- read_excel("~/location4.xlsx")

YesFR <- rbind(data1,data2)
NoFR <- rbind(data3, data4)

Impact <- bind_rows(YesFR, NoFR)      

我收到以下错误: bind_rows_(x, .id) 中的错误: 列X__2 无法从字符转换为数字

我认为这与数据中的 Undf 字符有关,我需要将其转换为 NA。执行此操作的最简单方法是什么,为什么当我将 data3 与 data4 绑定时不会出现此消息?

【问题讨论】:

  • 我猜是,YesFR 中的X_2 是数字,NoFR 中的X_2 是字符(因为您在data4 中有“Undf”)。现在dplyr 中的bind_rows 给出了与第一个输入相同的类型。因此,由于YesFR 中的X_2 是数字,它会在绑定时尝试将NoFR 中的X_2 转换为数字,但失败了。试试bind_rows(NoFR, YesFR) 看看它是否会抛出同样的错误信息。
  • 不看数据就很难判断。尝试:data4$X__2[data4$X__2=="Undf"] &lt;- NA 然后再尝试 rbind
  • @user 这给出了错误 在 bind_rows_(x, .id) 中的错误:无法将列 X__2 从数字转换为字符。但是感谢您的解释!
  • @ima 所以它证实了我的猜测,它失败了,因为X_2 在两个数据集中是不同的类型。 @Matt L. 的建议应该解决它。
  • @user : 使用 Matt 的评论能够将 undf 更改为 NA,但是我仍然收到与原始问题中所述相同的错误。

标签: r bind plyr na


【解决方案1】:

基本上,您需要将"Undf" 替换为真正的NA,否则列类型必须是字符才能包含"Undf"。您可以在加载后执行此操作,但更好的选择是在加载期间使用 read_excel() 使 "Undf" 等同于 NA

read_excel()na 参数默认为 na = "" 或空单元格。您可以在该参数中添加类似

read_excel("~/location1.xlsx", na = c("", "Undf"))

对每个文件执行此操作,绑定应该可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-25
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多