Как использовать ddply для добавления столбца в фрейм данных?
у меня есть фрейм данных, который выглядит так:
site date var dil
1 A 7.4 2
2 A 6.5 2
1 A 7.3 3
2 A 7.3 3
1 B 7.1 1
2 B 7.7 2
1 B 7.7 3
2 B 7.4 3
мне нужно добавить столбец с названием wt
к этому фрейму данных, который содержит весовой коэффициент, необходимый для вычисления средневзвешенного значения. Этот весовой коэффициент должен быть получен для каждой комбинации site
и date
.
подход я использую, чтобы сначала построили функцию, что рассчитать весовыми фактор:
> weight <- function(dil){
dil/sum(dil)
}
затем примените функцию для каждой комбинации site
и date
> df$wt <- ddply(df,.(date,site),.fun=weight)
но я получаю это сообщение об ошибке:
Error in FUN(X[[1L]], ...) :
only defined on a data frame with all numeric variables