r - 转换为日期格式错误:字符串不是标准的明确格式
问题描述
我想计算两个日期之间的月数,但在此之前我在 r 中加载数据时遇到问题。在 csv 表中,格式是mm/dd/yyyy
,但在 R 中,变量被归类为字符。
我试过了
data$issue_d <- format(as.Date(data$issue_d), "%m/%d/%Y")
并首先转换为日期,但它给出了以下错误
字符串不是标准的明确格式
对此有何建议?
示例输入:
issue_d <- c("Dec,2011","Nov,2014","Apr,2015")
解决方案
试试下面:
# example data
df1 <- data.frame(
issue_d1 = c("Dec,2011","Nov,2014","Apr,2015"),
issue_d2 = c("Nov,2015","Sep,2017","Apr,2018"))
library(zoo)
df1$Months <-
(as.yearmon(df1$issue_d2, "%b,%Y") -
as.yearmon(df1$issue_d1, "%b,%Y")) * 12
df1
# issue_d1 issue_d2 Months
# 1 Dec,2011 Nov,2015 47
# 2 Nov,2014 Sep,2017 34
# 3 Apr,2015 Apr,2018 36
推荐阅读
- react-native - 在视图中找不到意外的令牌反应本机
- css - CSS网格不考虑minmax中的最小值以及自动调整
- c++ - 有没有办法可以将字符串写入文件?
- c# - 手动杀死线程,之前创建
- python - Tensorflow 2.0:如何在使用 tf.saved_model 时更改输出签名
- node.js - 无法在 Electron 应用程序的 NPM 依赖项中使用加密
- django - 在呈现响应之前删除消息
- javascript - 即使在重新加载后,您如何将您的帖子数据保存在您的博客上?
- java - 托管代理 web 应用程序的 Tomcat 在正确运行一段时间后生成 SSLHandshakeException
- kubernetes - istio 服务可以用于任意主机名吗?