首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R POSIXlt的奇数输出

R POSIXlt的奇数输出
EN

Stack Overflow用户
提问于 2011-09-13 01:21:23
回答 2查看 378关注 0票数 2

有人能解释一下第二个d$年份不是1吗?

代码语言:javascript
复制
> d = as.POSIXlt("1900-01-01")
> d$year
[1] 0
> d$mon = d$mon + 12
> d
[1] "1901-01-01"
> d$year
[1] 0
>

与此形成对比:

代码语言:javascript
复制
> d = as.POSIXlt("1900-01-01")
> d
[1] "1900-01-01"
> d$year
[1] 0
> d$year = d$year + 1
> d
[1] "1901-01-01"
> d$year
[1] 1
>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-13 01:37:13

POSIXlt对象是列表。您更改了列表的mon元素。这不会更改列表的year元素。

代码语言:javascript
复制
d <- as.POSIXlt("1900-01-01")
unclass(d)
d$mon <- 12
unclass(d)

如果您希望您的更改更改任何/所有其他列表元素,请将其转换为POSIXct,然后再转换回POSIXlt

代码语言:javascript
复制
unclass(as.POSIXlt(as.POSIXct(d)))
票数 2
EN

Stack Overflow用户

发布于 2011-09-13 01:40:58

这是因为您直接操作列表的元素(POSIXlt对象)。打印时,它被规范化为“真实”日期,但当访问单个元素时,它们仍然具有非规范化的值。

考虑d <- as.POSIXlt("1900-01-01")

代码语言:javascript
复制
dput(d)
d$mon <- d$mon + 12
dput(d)
d <- as.POSIXlt(as.POSIXct(d))
dput(d)

这给了我们

代码语言:javascript
复制
> d <- as.POSIXlt("1900-01-01")
> dput(d)
structure(list(sec = 0, min = 0L, hour = 0L, mday = 1L, mon = 0L, 
    year = 0L, wday = 1L, yday = 0L, isdst = 0L), .Names = c("sec", 
"min", "hour", "mday", "mon", "year", "wday", "yday", "isdst"
), class = c("POSIXlt", "POSIXt"))
> d$mon <- d$mon + 12
> dput(d)
structure(list(sec = 0, min = 0L, hour = 0L, mday = 1L, mon = 12, 
    year = 0L, wday = 1L, yday = 0L, isdst = 0L), .Names = c("sec", 
"min", "hour", "mday", "mon", "year", "wday", "yday", "isdst"
), class = c("POSIXlt", "POSIXt"))
> d <- as.POSIXlt(as.POSIXct(d))
> dput(d)
structure(list(sec = 0, min = 0L, hour = 0L, mday = 1L, mon = 0L, 
    year = 1L, wday = 2L, yday = 0L, isdst = 0L), .Names = c("sec", 
"min", "hour", "mday", "mon", "year", "wday", "yday", "isdst"
), class = c("POSIXlt", "POSIXt"), tzone = c("", "PST", "PDT"
))

请注意,强制转换为POSIXct并返回到POSIXlt会将其标准化(year为1,mon为0)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7391529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档