>我有一个以数字和破折号开头的变量,例如"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)] <- ""
因此,在这种情况下,我们只需将该列或向量转换为可用的格式,它就可以工作。