我有一个包含此类列数据的数据框。
1906-02-20
1906-02-21
我想创建包含年,月和日的单独列。
预期输出:
1906 02 20
1906 02 21
之前我曾使用像strptime和lubridate这样的东西。但是无法解决这个问题。
答案 0 :(得分:1)
format(as.Date('2014-12-31'),'%Y %m %d')
(显然你想用日期向量替换as.Date('2014-12-31')
)。
format()
将日期转换为stings。对于个别年份,月份和日期值,您需要:
myData$year <- format(as.Date('2014-12-31'),'%Y')
#> "2014"
myData$month <- format(as.Date('2014-12-31'),'%m')
#> "12"
myData$day <- format(as.Date('2014-12-31'),'%d')
#> "31"
当我需要查找格式字符串的含义时,我经常会引用this page。
答案 1 :(得分:0)
看看这个:
X <- data.frame()
X <- rbind(strsplit(x = "1906-02-20", split = "-")[[1]])
colnames(X) <- c("year", "month", "day")
答案 2 :(得分:0)
尝试separate
包
tidyr
功能
library(tidyr)
separate(df, "V1", into = c("year", "month", "day"), sep = "-")
# year month day
# 1 1906 02 20
# 2 1906 02 21
数据强>
df <- read.table(text = "
1906-02-20
1906-02-21
")