我有一个数据集,其中我有大约200个\N,我想用上面行中的date/day值替换\N。例如,对于第641行,我希望将日期更改为10-11月14日,并将日期更改为:

如果这可以在R中完成,日期的格式重要吗?目前,这些日期是作为因素显示的。
发布于 2015-06-02 21:37:40
如果这是您要导入到R中的Excel文件,那么您需要了解R是如何与反斜杠字符(这是屏幕截图中显示的字符)一起工作的,并用来“转义”字符。见?Quotes。一旦数据在R中,它可能都是因子列。
如果dataframe被命名为'dat‘,那么这应该可以真正实现缺失值:
is.na( dat) <- dat == "\\N" # need to escape the escape character.然后使用软件包动物园的na.locf:
library(zoo) # lots of useful methods in zoo.
dat$date <- na.locf(dat$date)
dat$day_of_week <- na.locf(dat$day_of_week)这些方法应该适用于任何类型的列,在进行转换之前,这些都不是R-日期类变量。
发布于 2015-06-02 22:43:24
使用以下代码可以轻松地在R中解决这个问题:
ListNa <- grep("\\N", a$date)
ListPrewRow <- ListNa-1
data[ListNa,c("date", "day")] <- data [ListPrewRow,c("date", "day")]其中:
发布于 2015-06-02 21:33:14
通过快速使用Find和FindNext,可以在Excel中快速完成这一任务。假设您想要替换\N上的所有ActiveSheet,这段代码一旦全部替换,就会终止。Offset(-1)将值向上一行。
Sub ReplaceWithValueAbove()
Dim rng_search As Range
Set rng_search = ActiveSheet.UsedRange.Find("\N")
While Not rng_search Is Nothing
'set to row above
rng_search = rng_search.Offset(-1)
'find the next one
Set rng_search = ActiveSheet.UsedRange.FindNext()
Wend
End Sub前后图片


https://stackoverflow.com/questions/30606850
复制相似问题