R 创建向量,每种类型的项目数量由另一个向量确定
在R中,假设我有一个365个非负整数的向量。由此,我想生成2015/1/1和2015/12/31之间的日期向量。一天将在新向量中列出R 创建向量,每种类型的项目数量由另一个向量确定,r,vector,R,Vector,在R中,假设我有一个365个非负整数的向量。由此,我想生成2015/1/1和2015/12/31之间的日期向量。一天将在新向量中列出k次,其中k是第一个向量中的对应数字。也就是说,k是第一个向量的元素i,其中日期是一年中的第天 例如,如果第一个向量是 c(1, 0, 2, ..., 2) 那么第二个向量应该是 c(2015/1/1, 2015/1/3, 2015/1/3, ..., 2015/12/31, 2015/12/31) 有没有办法把第二个向量作为一个整体来创建,而不是一行一行地创建
k
次,其中k
是第一个向量中的对应数字。也就是说,k
是第一个向量的元素i
,其中日期是一年中的第天
例如,如果第一个向量是
c(1, 0, 2, ..., 2)
那么第二个向量应该是
c(2015/1/1, 2015/1/3, 2015/1/3, ..., 2015/12/31, 2015/12/31)
有没有办法把第二个向量作为一个整体来创建,而不是一行一行地创建?(我当然可以一行一行地想办法。)我们可以使用
rep
功能以及seq.Date
来执行此操作:
创建数据
set.seed(123)
kvec <- sample(0:10, 365, replace = T) #create the nonnegative integers
#create sequence of dates
date_vec <- seq.Date(from = as.Date('2015-01-01'), to = as.Date('2015-12-31'), by = 'day')
结果
head(kvec)
[1] 3 8 4 9 10 0
head(k_date_vec)
[1] "2015-01-01" "2015-01-01" "2015-01-01" "2015-01-02" "2015-01-02" "2015-01-02"
我们可以使用
rep
功能以及seq.Date
来执行此操作:
创建数据
set.seed(123)
kvec <- sample(0:10, 365, replace = T) #create the nonnegative integers
#create sequence of dates
date_vec <- seq.Date(from = as.Date('2015-01-01'), to = as.Date('2015-12-31'), by = 'day')
结果
head(kvec)
[1] 3 8 4 9 10 0
head(k_date_vec)
[1] "2015-01-01" "2015-01-01" "2015-01-01" "2015-01-02" "2015-01-02" "2015-01-02"
对于重复数据框的行:对于重复数据框的行: