pas*_*pas 3 datetime timestamp r unix-timestamp dataframe
我正在使用R标记为"mydata" 的数据框.标有"ts"的第一列包含unix时间戳字段.我想将这些字段转换为一周中的几天.
我尝试过使用strptime和POSIXct函数,但我不确定如何正确执行它们:
> strptime(ts, "%w")
Run Code Online (Sandbox Code Playgroud)
- 返回此错误:
"as.character(x)中的错误:无法强制将'闭合'强制类型为'character'类型的向量
我也尝试过用POSIXct将其转换为人类可读的格式:
as.Date(as.POSIXct(ts, origin="1970-01-01"))
Run Code Online (Sandbox Code Playgroud)
- 返回此错误:
"as.POSIXct.default(ts,origin ="1970-01-01")中的错误:不知道如何将'ts'转换为类"POSIXct""
更新:以下是最终为我工作的内容:
> mydata$ts <- as.Date(mydata$ts)
Run Code Online (Sandbox Code Playgroud)
然后
> mydata$ts <- strftime( mydata$ts , "%w" )
Run Code Online (Sandbox Code Playgroud)
没有必要去一路strftime时POSIXlt给你这直接,strftime电话as.POSIXlt.
wday <- function(x) as.POSIXlt(x)$wday
wday(Sys.time()) # Today is Sunday
## [1] 0
Run Code Online (Sandbox Code Playgroud)
weekdays如果你想要字符而不是数字输出,还有函数:
weekdays(Sys.time())
## [1] "Sunday"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5495 次 |
| 最近记录: |