Есть ли способ воспроизвести функцию ddply? Я хотел бы получить корреляцию по группам и получить в качестве выходного кадра данные с результатами без необходимости загрузки пакета plyr.Заменить функцию ddply в R
Например, у меня есть dataframe (ДФ):
Obs Group Val1 Val2
Obs1 Group1 1 2
Obs2 Group1 2 1
Obs3 Group2 5 6
Obs4 Group2 6 5
И я хотел бы вывод как dataframe (Corr)
Group Correlation
Group1 -1
Group2 -1
Я в настоящее время используют эту функцию:
func <- function(df)
{
return(data.frame(Correlation = cor(df$Val1, df$Val2, method = "pearson")))
}
Corr <- ddply(df, .(Group), func)
Я попытался заменить ddply на:
Corr <- data.frame(sapply(split(df, df$Group),func))
Но не работал.
Любые идеи?
Спасибо за вашу поддержку.
изменить фрейм данных линии 'do.call (rbind, lapply (...))' – rawr
@rawr, Оставить комментарий в качестве ответа ... –