Я пытаюсь использовать пакет reshape2 для перераспределения столбцов в верхней части моего набора данных.У меня температура и Хл-а измерены дважды на трех участках.Однако, когда я расплавляю и отливаю фрейм данных, fun.aggregate по умолчанию принимает длину.Я хочу сохранить исходные значения.Вот пример набора данных:
library(reshape2)
library(stringr)
df=data.frame(site=rep(1:3,each=2),temp_2009=c(23,24,25,25,23,43),chla_2009=c(3,2,3,4,5,6),
temp_2010=c(23,25,26,27,23,23),chla_2010=c(2,3,5,6,2,1))
df2=melt(df,id.vars=1,measure.vars=c(2:5))
df2=cbind(df2,data.frame(str_split_fixed(df2$variable,"_",2)))
df2=df2[,-2]
names(df2)[3:4]=c("variable","year")
dcast(df2,site+year~variable)
Я думаю, это как-то связано с тем, как reshape2 обрабатывает дублирующиеся значения.
Есть мысли?