R 中的字符/日期时间变量操作



>我有一个以数字和破折号开头的变量,例如"1-"或"2-"。这些都是字符向量,其中这些数字和破折号后跟一串单词,例如x <- c("1-place a", "2-place b", "3-place c").我正在尝试将我的 NA 设置为空白。但我认为 R 认为这些时间格式不正确,并且无法执行df[is.na(df)] <- ""命令。

基本上,当我运行该命令时,我收到以下错误:

中的错误。POSIXlt.character(x, tz, ...( : 字符串不是标准的明确格式

我如何更改向量以消除其余字符前面的所有"#-"前缀以简单地获取,例如,x <- c("place a", "place b", "place c"),或者更好的是,我如何让 R 意识到这些不是格式不正确的时间?

运行str(df$variable)以验证是否将列读取为日期。如果是,请将其转换为字符df$variable<-as.character(df$variable)

下面是一个示例,其中只有一个向量显示您的问题。

x<-as.Date("1-place a","1-place b","1-place c",NA)
x[is.na(x)] <- ""
str(x)

这是行不通的,运行str我们看到它实际上不是一个角色,x[is.na(x)] <- ""需要它才能工作。

y<-as.character(x)
y[is.na(y)] <- ""

因此,在这种情况下,我们只需将该列或向量转换为可用的格式,它就可以工作。

最新更新