我有一个包含n个元素的向量。
从具有一个对象的向量中获取年份和月份很容易
a <- as.Date("01.01.2001", "%d.%m.%Y")
b <- format(a, "%Y%m")
但是,如果我在向量中有1k个不同的日期,怎么做呢?
当我用一个带有n个元素的向量替换一个元素时,我得到了
format.default中的错误(结构(as.character(x),names = names(x),dim = dim(x),: 无效的'trim'参数
我的矢量输入我尝试转换
"02.01.2011 00:00", "02.04.2000 00:00",...
答案 0 :(得分:0)
尝试
your.character.vector <- c("02.01.2011 00:00", "02.04.2000 00:00")
a <- as.POSIXct(your.character.vector, format = "%d.%m.%Y")
# or, if time is not always 00:00
a <- as.POSIXct(your.character.vector, format = "%d.%m.%Y %H:%M")
c <- as.POSIXlt(a)$mday
d <- as.POSIXlt(a)$mon + 1 # + 1 because mon = 0-11
b <- paste0(c,d)
> b
[1] "21" "24"
# or to add leading zeros where they are missing
b <- paste0(sprintf("%02d",c), sprintf("%02d",d))
> b
[1] "0201" "0204"