首页 > 解决方案 > 替换 tibble 中的日期 NA

问题描述

我遇到了无法正确读取日期的问题readxl请参阅线程

在没有解决方案的情况下,如何将日期列中的 NA 替换为手动键入的日期?

他们只有12个。我试过了fix()replace_na()但两次都出错了。

我还尝试用新向量覆盖日期列,但也失败了。

我试过:

df[is.na(df$Date),] <- keyed_in_dates_in_the_right_order

这是代码:

Sheff_derby_R[is.na(Sheff_derby_R$Date)] <- c("1893-10-16 UTC”, "1895-12-01 UTC”, 
    "1895-12-26 UTC”, "1896-12-26 UTC”, “1897-12-27 UTC”, "1898-12-26 UTC”, 
    "1893-11-13 UTC”, "1894-10-27 UTC”, "1896-09-07 UTC”, "1897-03-02 UTC”, 
    "1897-10-16 UTC”, "1898-10-03 UTC”)

它用这些回收的日期替换了前六行中的所有内容。

更新:我通过修复花引号问题并用所有正确的日期替换整个 $Date 列得到了所需的结果。不是一个很好的解决方案,但它有效。IE:

df$Date <- c("1893-10-16 UTC" etc)

标签: rreadxl

解决方案


我发现了问题,它在你的引号中 - 就像卡米尔评论的那样。

如果您仔细观察,您会发现其中一些末端是卷曲的,而另一些则不是。更改此设置,使输入的所有日期共享相同的“直”引号,其中替换na值的向量应如下所示:

如果 df 是您的数据框

df[is.na(df$Date),] <- c("1893-10-16 UTC", "1895-12-01 UTC", 
"1895-12-26 UTC", "1896-12-26 UTC", "1896-09-07 UTC") #Or whatever combination of dates you wish to use

和我一起工作,所以也应该和你一起工作!


推荐阅读