数据框中的润滑年份日期

时间:2017-05-13 02:11:10

标签: r dataframe lubridate

如何创建包含12行和3列的数据框。首先选择3000:9999范围内的随机年份。

三列的要求是:第一个变量(列)应该是日期(选定年份中每个月的最后一天)第二个变量应该是非空的,唯一的,字符串(字符)和第三个变量变量应该是1:12整数的随机排列?

有没有办法在as.Date函数中随机化年份或其他更好的方法呢?我如何使用lubridate来获取每个月的最后一天?

1 个答案:

答案 0 :(得分:1)

这样的事情

library(lubridate)

dates <- ceiling_date(date(paste(sample(3000:9999, 1), 1:12, "1", sep = "-")), "months") - 1
strings <- sample(LETTERS, 12)
numbers <- sample(1:12, 12)

df <- data.frame(dates, strings, numbers)

> print(df)
        dates strings numbers
1  9366-01-31       U       6
2  9366-02-28       J       2
3  9366-03-31       T       5
4  9366-04-30       G       1
5  9366-05-31       I       7
6  9366-06-30       L      10
7  9366-07-31       H       8
8  9366-08-31       R       3
9  9366-09-30       B      11
10 9366-10-31       V      12
11 9366-11-30       E       4
12 9366-12-31       F       9