我只是准备像cols<- c("Metrics",as.Date(Sys.Date()-8,origin="1899-12-30"),as.Date(Sys.Date()-1,origin="1899-12-30"))
这样的表,但没有得到预期的输出。任何人都可以帮忙。
输出:“指标”“ 17927”“ 17934”
cols<- c("Metrics",as.Date(Sys.Date()-8,origin="1899-12-30"),as.Date(Sys.Date()-1,origin="1899-12-30"))
cols<- c("Metrics",as.Date(Sys.Date()-8,origin="1899-12-
30"),as.Date(Sys.Date()-1,origin="1899-12-30"))
预期输出:
"Metrics" "2019-01-31" "2019-02-07"
答案 0 :(得分:1)
1)字符输出:如果要查找字符向量,则将Date
类组件转换为character
。另请注意,由于as.Date
及其偏移量已经属于Sys.Date()
类,因此不需要问题中显示的Date
。还要注意,如果Sys.Date()
在午夜被两次调用,则两次调用可能发生在不同的日期。为了避免这种可能性,我们创建了一个today
变量,因此只需调用一次即可。
today <- Sys.Date()
cols <- c("Metrics", as.character(today-8), as.character(today-1))
cols
## [1] "Metrics" "2019-01-31" "2019-02-07"
1a),这可以变得更短。
cols <- c("Metrics", as.character(Sys.Date() - c(8, 1)))
cols
## [1] "Metrics" "2019-01-31" "2019-02-07"
2)列表输出或者,如果您想要的是一个包含一个character
组件和两个Date
组件的列表,则:
today <- Sys.Date()
L <- list("Metrics", today - 8, today - 1)
L
给予:
[[1]]
[1] "Metrics"
[[2]]
[1] "2019-01-31"
[[3]]
[1] "2019-02-07"
如果我们已经有了L
并且想要一个字符向量,那么我们可以像这样进一步转换它:
sapply(L, as.character)
## [1] "Metrics" "2019-01-31" "2019-02-07"