ddply көмегімен жаңа деректерді бірнеше мәжбүрлеуді мәжбүрлейді

Бұл функция бар:

> λ.est <- function(x){
            mle.optim <- mle2(paretoNLL,start=list(λ=-0.7),data=list(x=x),trace=TRUE)
            return(summary(mle.optim)@coef[1,1:4])
            }

ол бөлуді қолдайды және параметрді бағалауды тоқтатады, std. қате, z мен моделі үшін p. Бұл функцияны тоғанның координаты, мекендеу ортасы, емдеу, күн тіркесімімен анықталған түпнұсқалық деректер ауқымымның өлшемі әртүрлі жиындарына қолдану керек және мұны істеу үшін ddply функциясын пайдалану:

> mle.λ <- ddply(size, .(pond,habitat,treatment,date), 
     summarise, λ=λ.est(x=mass.wei))

Мәселе мынада, мен мұны бір ғана бағанды ​​жаңа mle.l.l жаңа деректер кадрына уақытты қоса аламын, мен mle.l.l жаңа бағандар, әрқайсысы үшін λ.est негізінен бұл келесідей нәрсе:

>  mle.λ
      pond habitat treatment date estimate std. error z value Pr(z)
       -    -        -       -      -        -         -      - 
       -    -        -       -      -        -         -      - 
       -    -        -       -      -        -         -      - 
       -    -        -       -      -        -         -      - 
       -    -        -       -      -        -         -      - 
      ...

Мен әзірше әр шығару үшін әртүрлі функцияларды жазып жатырмын, бірақ мен кодекстердің экономикасын жасауды қалаймын ... барлығын бір жолмен жасауға бола ма?

рахмет матео

5

1 жауаптар

Сізде жиынтық функция болғандықтан, summalize функциясын қосымша пайдалануға болмайды. Сонымен қатар, - бірден бірнеше шығуды қайтаруға мүмкіндік береді. Мысал деректер жоқ болғандықтан, мұны қалай жасауға болатынын көрсету керек:

n = 20
set.seed(12345)
data = data.frame(cbind(pond=1:2, habitat=1:3, value = rnorm(n)))
> ddply(data, .(habitat, pond), function(x) summary(x$value))
  habitat pond    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
1       1    1  0.3706  0.5318  0.6078  0.6767  0.7528  1.1210
2       1    2 -0.9193 -0.6864 -0.4535 -0.1853  0.1817  0.8169
3       2    1 -0.8864 -0.5013 -0.1162 -0.1322  0.2448  0.6059
4       2    2 -0.2762  0.1550  0.4095  0.3131  0.5675  0.7095
5       3    1 -0.7505 -0.5173 -0.2842 -0.3813 -0.1967 -0.1093
6       3    2 -1.8180 -1.0750 -0.3316 -0.1107  0.7429  1.8170
5
қосылды
Тамаша! Мен бұл көмектесті қуаныштымын.
қосылды автор John Colby, көзі
Джон шын мәнінде, әрине, дәлірек айтқанымдай, бірақ мен ... бәрібір R маршрутына баруға мәжбүрмін.
қосылды автор matteo, көзі