我正在尝试对RMarkdown文件进行一些最后的润色以上传它。在我使用CSV文件而不是.xlsx文件之前,它一直工作得很好。我正在尝试创建一个日期列,然后将其拆分为月、日和年的单独列。然后将工作日的列从给出表示工作日的数字改为给出实际名称。在下面的代码块中,当我尝试使用difftime时,我遇到了同样的问题。
我一直在犯这些错误:
charToDate(x)中的错误:字符串不是标准的明确格式Traceback:
- format(as.numeric(as.Date(all_trips$started_at),“%Y-%m-%d”))
1.截止日期(所有行程$开始时间) - as.Date.character(all_trips$started_at)
- charToDate(x)
- stop(“字符串不是标准的明确格式”)
我该怎么办?它不喜欢as.Date()或as.numeric(as.Date())。
all_trips$date <- format(as.numeric(as.Date(all_trips$started_at), "%Y-%m-%d"))
all_trips$ended_at <- format(as.numeric(as.Date(all_trips$ended_at), "%Y-%m-%d"))
all_trips$month <- format(as.numeric(as.Date(all_trips$date), "%m"))
all_trips$day <- format(as.numeric(as.Date(all_trips$date), "%d"))
all_trips$year <- format(as.numeric(as.Date(all_trips$date), "%Y"))
all_trips$day_of_week <- format(as.numeric(as.Date(all_trips$date), "%A"))
这是差分时间线
all_trips$ride_length <- difftime(all_trips$ended_at,all_trips$started_at, units = "mins")
1条答案
按热度按时间dy2hfwbg1#
我猜:
1.首先,将字符串转换为
POSIXt
-class。1.其次,* 现在 * 您可以对它执行类似日期的数学运算,例如
difftime
* 可以 * 处理不属于Date
或POSIXt
类的字符串,但前提是它们是 * 明确的 *(R认为,而不是人类认为)。在这种情况下,as.Date
查看%Y-%m-%d
和%Y/%m/%d
的格式,没有其他内容,因此as.Date
内的自动转换以及difftime
或内的自动转换完全错误。示范:
最后一个是不正确的,因为它认为日期格式是: