我的数据中的日期是YYYY-dd-mm格式。2015-01-07,2015-01-08是一些示例日期。我想从这个日期中提取周数字。我使用了以下代码
week_number <- as.POSIXlt(data_tmp2$my_date)
data_tmp2$week_number=strftime(data_tmp2,format="%W")在运行第二行之后,我得到了以下错误
Error in as.POSIXlt.default(x, tz = tz) :
do not know how to convert 'x' to class “POSIXlt”你能帮我解决这个问题吗?
发布于 2016-12-30 02:57:41
library(lubridate)
week(as.Date("2015-01-07", format = "%Y-%m-%d"))发布于 2016-12-30 02:56:49
我们可以使用as.Date将其转换为Date类,并使用format提取星期
format(as.Date("2015-01-07", format = "%Y-%d-%m"), "%W")
#[1] "26"如果将OP的post中的代码应用于相关列而不是data.frame,那么它应该可以很好地工作
strftime(as.POSIXlt("2015-01-07", format = "%Y-%d-%m"), "%W")
#[1] "26"即
strftime(as.POSIXlt(data_tmp2$my_date, format = "%Y-%d-%m"), format="%W")注意:不清楚format是"%Y-%d-%m"还是通常的Date类格式,例如%Y-%m-%d,因为它可能是OP的帖子中的一个拼写错误。
https://stackoverflow.com/questions/41385646
复制相似问题