我有以下格式的数据
通过重塑它使用
data2 <- melt(data, id.vars=c('NAME_3'), variable.name = "T", value.name = "response")
我首先创建了要添加到表中的日期序列。
date = seq(from = as.Date("2012-10-01"), to = as.Date("2012-10-04"), by = 'day')
然后将其与重塑的数据合并。
merge(data2, date)
但所需的结果是
提前谢谢。
发布于 2020-10-01 19:05:38
我们需要按操作分组,即在按'NAME_3‘分组之后,使用from
选项创建'date’的from
uence,并将length.out
指定为n()
library(dplyr)
data2 <- data2 %>%
group_by(NAME_3) %>%
mutate(date = seq(from = as.Date("2012-10-01"),
length.out = n(), by = 'day'))
注意:当复制的数量不相等时,这也会很好。
或者,如果“Name_3”元素的行数固定,那么我们可以使用rep
data2$date <- rep(date, each = nrow(data))
这将返回与原始order
数据集相同的melt
中的数据。
发布于 2020-10-01 19:31:55
我们可以使用回收技术在data2
中添加日期列。
按Name_3
对数据进行排序,并将date
指定为新列。
data2 <- data2[order(data2$Name_3), ]
data2$date <- date
https://stackoverflow.com/questions/64165700
复制相似问题