在R中将unix时间戳列转换为星期几
我正在使用R中标记为“mydata”的数据框。第一列标记为“ts”包含unix时间戳字段。我想将这些字段转换为一周中的几天 我尝试过使用strtime和POSIXct函数,但不确定如何正确执行它们:在R中将unix时间戳列转换为星期几,r,datetime,dataframe,timestamp,unix-timestamp,R,Datetime,Dataframe,Timestamp,Unix Timestamp,我正在使用R中标记为“mydata”的数据框。第一列标记为“ts”包含unix时间戳字段。我想将这些字段转换为一周中的几天 我尝试过使用strtime和POSIXct函数,但不确定如何正确执行它们: > strptime(ts, "%w") --返回此错误: “as.character(x)中出错:无法将类型‘closure’强制为类型‘character’的向量” 我还尝试使用POSIXct将其转换为人类可读的格式: as.Date(as.POSIXct(ts, origin="197
> strptime(ts, "%w")
--返回此错误:
“as.character(x)中出错:无法将类型‘closure’强制为类型‘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 mydata$ts当POSIXlt
直接向您提供此信息时,无需一直转到strftime
,并且strftime
调用as.POSIXlt
wday <- function(x) as.POSIXlt(x)$wday
wday(Sys.time()) # Today is Sunday
## [1] 0
使用dput
包含样本数据ts
是创建时间序列对象的函数。也许您打算编写strtime(mydata$ts,“%w”)
尝试过,它输出了10k行,看起来像这样:[9997]“2013-06-09”“2013-06-09”“2013-06-09”“,但看起来数据帧的实际内容没有改变。@pas我想您应该使用strftime
@pas您必须将输出分配给一个对象,在这种情况下,mydata$ts
wday <- function(x) as.POSIXlt(x)$wday
wday(Sys.time()) # Today is Sunday
## [1] 0
weekdays(Sys.time())
## [1] "Sunday"