创建具有特定格式的日期作为列的表

时间:2019-11-13 13:27:33

标签: r

我想创建一个表(带有数据框或数据表),该表具有两列和30行,这是实际日期。 Col1应该包含以下日期:yyyymm,介于199801和200012之间,采用这种特定格式,并且是随机生成的。 Col2应该仅从第一列获取年份信息。

我尝试使用as.Date,但是上面没有显示格式。 任何线索如何正确处理? 谢谢

2 个答案:

答案 0 :(得分:2)

像这样吗?

set.seed(1234)
dates <- (sample(seq(as.Date('1999/01/01'), as.Date('2020/01/01'), by="day"), 30))
data.frame(Col1 = format.Date(dates,"%Y%m"),
           Col2 = format.Date(dates,"%Y"))

     Col1 Col2
1  201805 2018
2  201805 2018
3  200107 2001
4  200506 2005
5  200402 2004
6  201102 2011
7  200203 2002
...

答案 1 :(得分:1)

在我看来,应该在Col1中使用字符串。您是从其他来源(csv,excel?)的日期中解析出来的吗?

然后,Col2可以只使用substr

dat <- data.frame(col1 = c("201812", "201901"))
dat %>% 
  mutate(
    col2 = substr(col1, 1,4)
  )
相关问题