내 데이터 프레임 (df
)에와 이블 밀도 값을 사용하여 새 열을 작성하려고합니다.데이터 세트 그룹 내에서와 이브 밀도 할당
이 df의 그룹을 고려하여 quantile (w)의 벡터에 밀도를 지정해야합니다.
하위 집합은 변수 "plot"으로 구분됩니다.
각 플롯에는 농도가 시작되어야하는 특정와 이블 매개 변수가 있습니다.
매개 변수는 df_2
에 저장됩니다.
재현 예 :
set.seed(25)
w = rweibull(1200,10,28)
plot = data.frame(c(rep.int(1,300),rep.int(2,300),rep.int(3,300),rep.int(4,300)))
names(plot)[1] = c("plot")
df = cbind(plot,w)
df_2=data.frame(cbind(c(1,2,3,4),c(28,27,26,25),c(9,9.5,8,7)))
names(df_2)[1:3] = c("plot","scale","shape")
나는 해들리의 대답 here에서 코드를 적용하려고했으나 성공하지 못했습니다.
library(plyr)
weibull_density <- ddply(df, "plot", function(x) {
data.frame(
density = dweibull(df$w, scale=df_2$scale, shape=df_2$shape)
)
})
nrow(weibull_density)
[1] 4800
4800 행의 data.frame을 반환합니다 (1200을 예상했습니다).
나는 또한 ?ddply
도움말 페이지에 제공된 예제를 살펴 보았지만이 상황에 적응하는 방법을 알 수 없었다.
이 더 많은 오버 헤드가 ..하지만이 예제는 흠 ... 개념적으로 분명 ... –
너무 작동합니다! 이 답변을 주셔서 감사합니다 (+1). –