Измените данные от долго до широкого со временем в новом широком имени переменной

У меня есть кадр данных, от которого я хотел бы объединиться долго до широкого формата, но я хотел бы встроить время в имя переменной в широком формате. Вот набор данных в качестве примера с длинным форматом:

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)

Я попытался использовать, изменяют функцию в основе R без успеха, и я не был уверен, как выполнить это использование изменять пакет, поскольку все примеры помещают время как другую переменную в широком формате. Какие-либо идеи?

5
задан sheed03 23 July 2010 в 16:58
поделиться