Ich versuche, die beste Verteilung für drei Variablen anzupassen, die über .csv-Datei gesammelt werden. Ich habe versucht, mit bereitgestellten Distributionen in r zu bewerten. Dann werde ich die kleinste als eine am besten angepasste Verteilung auswählen. Ich kann die Schleife jedoch nicht abschließen, da einige Fehler auftreten können, wenn Verteilungen nicht für Daten angepasst werden können.Wie kann ich Fehler verhindern, um die Schleife zu beenden?
zum Beispiel; Beta-Verteilung:
Fehler in fitdistr (xx1 [k], Verteilungen [i]): 'start' muss eine benannte Liste
So sein, wie diese Fehler überspringen kann? Hier
ist die Datei hochgeladen werden: http://www.filedropper.com/samplest
Hier ist der Code:
library(fitdistrplus)
importeddata <- read.csv(file.choose(), sep=";",na.strings = "", stringsAsFactors=FALSE, header = TRUE)
for(i in 1:tail(ncol(importeddata))){
importeddata[,i] <- gsub(",", ".", importeddata[ , i])}
xx1<- as.matrix(as.data.frame(lapply(importeddata, as.numeric)))
distributions <- c("beta", "cauchy", "chi-squared", "exponential", "f", "gamma", "geometric", "log-normal", "lognormal", "logistic", "negative binomial", "normal", "Poisson", "t", "weibull")
for(k in 1:ncol(xx1))
for(i in 1:length(distributions))
{
aa <- fitdistr(xx1[,k], distributions[i])$loglik
suppressMessages(aa)
print(aa)
}
die Dokumentation lesen. Bei einigen Distributionen müssen Sie Startwerte für die numerische Optimierung angeben. – Roland