Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中将unix时间戳列转换为星期几_R_Datetime_Dataframe_Timestamp_Unix Timestamp - Fatal编程技术网

在R中将unix时间戳列转换为星期几

在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

我正在使用R中标记为“mydata”的数据框。第一列标记为“ts”包含unix时间戳字段。我想将这些字段转换为一周中的几天

我尝试过使用strtime和POSIXct函数,但不确定如何正确执行它们:

> 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"