У меня есть фрейм данных, который я хотел бы объединить из длинного в широкий формат, но я бы хотел, чтобы время вставлялось в имя переменной в широком формате. Вот пример набора данных с длинным форматом:
id <- as.numeric(rep(1,16))
time <- rep(c(5,10,15,20), 4)
varname <- c(rep("var1",4), rep("var2", 4), rep("var3", 4), rep("var4", 4))
value <- rnorm(16)
tmpdata <- as.data.frame(cbind(id, time, varname, value))
> tmpdata
id time varname value
1 5 var1 0.713888426169224
1 10 var1 1.71483653545922
1 15 var1 -1.51992072577836
1 20 var1 0.556992407683219
....
4 20 var4 1.03752019932467
Я хотел бы это в широком формате со следующим выводом:
id var1.5 var1.10 var1.15 var1.20 ....
1 0.71 1.71 -1.51 0.55
(and so on)
Я попытался с помощью функции reshape в базе R безуспешно, и я не был уверен, как это сделать с помощью пакета reshape, так как во всех примерах время указывается как другая переменная в широком формате. Есть идеи?