r - r中的字符/日期时间变量操作
问题描述
我有一个以数字和破折号开头的变量,例如“1-”或“2-”。这些都是字符向量,其中这些数字和破折号后跟一串单词,例如x <- c("1-place a", "2-place b", "3-place c")
. 我正在尝试将我的 NA 设置为空白。但我认为 R 认为这些时间格式不正确,并且无法执行df[is.na(df)] <- ""
命令。
基本上我在运行该命令时收到以下错误:
as.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)] <- ""
因此,在这种情况下,我们只需将该列或向量转换为可用格式,它就可以工作。
推荐阅读
- java - 通过 API Gateway 运行 Java Lambda
- python - 网页抓取新闻文章
- pandas - Pandas,将 MultiIndex 数据框的某些列转换为行
- go - 如何在 delve mozilla rr(record-replay)重播会话期间显示十进制的浮点值。十进制
- laravel - 在一个月中按周分组数据并获取开始和结束日期
- python-3.x - 为最后一条记录打印不同的文本
- .net-core - Mock.Verify 无法识别对 IServiceProvider 提供的模拟服务的调用
- c - 如何正确对齐数字?
- c - 在 C 中的同一终端窗口上分别使用 2 个线程处理 I/O
- python - Matplotlib:imshow 图像的共享轴