我正在使用 R 中标记为"mydata"的数据框 . 标记为"ts"的第一列包含unix时间戳字段 . 我想将这些字段转换为一周中的几天 .
我尝试过使用strptime和POSIXct函数,但我不确定如何正确执行它们:
> strptime(ts, "%w")
- 返回此错误:
“as.character(x)中的错误:无法强制将'闭合'类型强制转换为'character'类型的向量
我也尝试过用POSIXct将其转换为人类可读的格式:
as.Date(as.POSIXct(ts, origin="1970-01-01"))
- 返回此错误:
“as.POSIXct.default(ts,origin =”1970-01-01“)中的错误:不知道如何将'ts'转换为类”POSIXct“”
更新:这是最终为我工作的:
> mydata$ts <- as.Date(mydata$ts)
然后
> mydata$ts <- strftime( mydata$ts , "%w" )
1 回答
当
POSIXlt
直接给你这个时,无需一直到strftime
,strftime
调用as.POSIXlt
.如果你想要字符而不是数字输出,还有
weekdays
函数: