R 在tibble中替换日期NAs

R 在tibble中替换日期NAs,r,readxl,R,Readxl,我有一个问题,没有从readxl正确读取日期 在没有解决方案的情况下,如何将日期列中的NAs替换为手动键入的日期 只有12个。我尝试了修复和替换,但两次都出现了错误 我还试着用一个新的向量重写日期列,但也失败了 我试过: 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”, "189

我有一个问题,没有从readxl正确读取日期

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

只有12个。我尝试了修复和替换,但两次都出现了错误

我还试着用一个新的向量重写日期列,但也失败了

我试过:

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列,获得了所需的结果。这不是一个很好的解决方案,但很有效。例如:

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

我发现问题出在你的引号里——就像卡米尔评论的那样

如果你仔细观察,你会发现其中一些在最后是卷曲的,而另一些则不是。更改此设置,使输入的所有日期共享相同的“直”引号,其中替换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

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

首先,我将尝试将excel文件保存为某种csv文件,并尝试使用read.table或datatables fread将其读取到R。如果这不起作用,您可以使用_data$date_变量[whichis.nayor_data$date_variable]选择缺失的值,并指定希望向量的日期与缺失值的数量一样长。假设有3个缺失值,您可以使用您的_数据[whichis.nayour_data$date_variable]=c1.1.2010、1.2.2011、1.3.2012-请注意此处的排序。看起来您有两种引号。有时在操作系统之间读取文件,或者从Excel之类的东西读取文件时会发生这种情况。我不确定这里的代码是否是从其他地方粘贴的。但请仔细查看错误消息:1893-10-16 UTC“一个是常规的,另一个是有角度的智能报价。所以这基本上是一个打字错误。这与OP中包含的代码完全相同,但对他们不起作用。这不是真的,卡米尔。这篇文章是在我给出答案后编辑的。如果这就是我被否决的原因,那么也许你应该取消它。这是真的。在你给出答案后我编辑了。然后我修正了输入错误,代码运行了。但是,它用回收的日期替换了前6行中的每一列。我用所有正确的日期替换了整个$Date列,得到了所需的结果。这不是一个很好的解决方案,但它起了作用