data=c(2,3,2,2,2,1,2,2,2,4,3,2,1,4,3,1,2,1,3,2,2,2,1,2,4,1,1,3,1,2,1,2,2,2,2,2,2,3,2,1) ## population data
X=matrix(data,4) ## four samples each of size 10
X
Je veux estimer des paramètres pour chaque rangée (chaque échantillon) de données à travers cette distribution.pour créer une matrice si des estimations
DGIWD=function(x,t1,a1,b1) t1^(b1/(x+1))^a1- t1^(b1/(x))^a1
library(MASS)
jk<-fitdistr(x =X[1,],densfun = DGIWD,start = list(t1=0.6,a1 =3,b1=2.3)) ### estimates parameters for first row X[1,]
jk
jk$estimate[1] ## first estimate
jk$estimate[2] ## 2nd estimate
jk$estimate[3] ## 3rd estimate
Je suis intéressé par la gestion d'une boucle pour l'estimation des paramètres et je veux enregistrer les paramètres dans une matrice Il y a échantillon total 4 et paramètres sont trois donc je veux stocker les paramètres dans la matrice de 4X3 comme ci-dessous
estimates<-matrix(NA,nrow=4,ncol=3,byrow=TRUE)
estimates
Pourriez-vous nous aider, comment gérer une telle situation.
je moi-même essayé maintenant
h=function(X){
DGIWD=function(x,t1,a1,b1) t1^(b1/(x+1))^a1- t1^(b1/(x))^a1
library(MASS)
jk<-fitdistr(x =X,densfun = DGIWD,start = list(t1=0.6,a1 =3,b1=2.3)) ### estimates parameters for first row X[1,]
jk
}
X <-list(1:3,4:6,7:9)
data=c(2,3,2,2,2,1,2,2,2,4,3,2,1,4,3,1,2,1,3,2,2,2,1,2,4,1,1,3,1,2,1,2,2,2,2,2,2,3,2,1) ## population data
X=matrix(data,4) ## four samples in five rows
apply(X,1,h)
a=(do.call(rbind,apply(X,1,h)))[,1]
b=as.matrix.data.frame(unlist(a))
Mais toujours pas en mesure d'obtenir la matrice de 4X3
Comme vous l'avez mentionné '# Cinq échantillons sur cinq lignes', mais quand je lance votre code et que j'imprime 'dim (X)', alors il affiche' 4 rows' et '10 columns'. –
@ Saurabh, vous avez raison, en fait une erreur de frappe. Il s'agit de quatre échantillons de taille 10. –
Veuillez mettre à jour votre question en corrigeant les fautes de frappe. –