Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
MAY

Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Beitrag von MAY »

Liebe Forum Mitglieder

Gerade eben habe ich eine polr Regression durchgeführt und wollte anschliessend den Konfidenzintervall betrachten. Bei allen Variablen kriegte ich einen Intervall jedoch bei meiner Variable "Age" ergab dies "NA".
Wisst Ihr wieso das passiert? Was kann ich dagegen machen?
(Anmerkung: Für die Variable "Age" habe ich 92 Beobachtungen und die Alter der untersuchten liegt zwischen 20-29)

Meine Eingabe:

Code: Alles auswählen

library(MASS)

CHL=as.factor(data$Challenge)
levels(CHL)=c("No affected","Moderate","Affected")

mo2=polr(formula=CHL ~ Age + Distance + gender + help, data, method = c("logistic"), Hess = TRUE)
summary(mo2)

(ci = confint(mo2))

Mein Resultat für (ci=confint(mo2)):

Code: Alles auswählen

> (ci = confint(mo2))
Waiting for profiling to be done...
                2.5 %        97.5 %
Age                NA            NA
Distance  0.000327371  0.0007957107
gender   -0.419290911  1.3946316454
help     -2.206255646 -0.4040815382
Die Daten die ich verwende findet Ihr im Anhang in csv sowie auch in pdf Format.


Vielen herzlichen Dank für eure Hilfe.

Beste Grüsse
Dateianhänge
Test1.csv
(1.64 KiB) 44-mal heruntergeladen
test.pdf
(42.71 KiB) 46-mal heruntergeladen
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Beitrag von jogo »

Hallo MAY,

willkommen im Forum!
Kannst Du bitte den Output von

Code: Alles auswählen

str(data)
posten :?:

Gruß, Jörg
MAY

Re: Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Beitrag von MAY »

Hallo Jörg

Der Output sieht folgendermassen aus:

Code: Alles auswählen

> str(data)
'data.frame':	92 obs. of  6 variables:
 $ Individual: int  1 2 3 4 5 6 7 8 9 10 ...
 $ Age       : int  22 21 21 20 27 22 24 20 23 23 ...
 $ gender    : int  1 0 0 0 1 0 1 0 0 0 ...
 $ Distance  : int  1107 923 1107 1107 690 1367 1726 1107 1107 2381 ...
 $ Challenge : int  2 1 1 1 1 1 2 2 1 2 ...
 $ help      : int  1 1 0 0 1 0 1 0 1 1 ...
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Beitrag von jogo »

und jetzt noch bitte den Output von

Code: Alles auswählen

summary(data)
(bitte entschuldige - hatte ich vergessen anzufordern)

Gruß, Jörg
MAY

Re: Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Beitrag von MAY »

Kein problem :-)
summary(data) ergibt folgendes:

Code: Alles auswählen

> summary(data)
   Individual         Age            gender          Distance      Challenge         help       
 Min.   : 1.00   Min.   :20.00   Min.   :0.0000   Min.   : 529   Min.   :1.00   Min.   :0.0000  
 1st Qu.:23.75   1st Qu.:21.00   1st Qu.:0.0000   1st Qu.:1107   1st Qu.:1.00   1st Qu.:0.0000  
 Median :46.50   Median :22.00   Median :0.0000   Median :1367   Median :1.00   Median :1.0000  
 Mean   :46.50   Mean   :22.61   Mean   :0.4674   Mean   :2345   Mean   :1.63   Mean   :0.5652  
 3rd Qu.:69.25   3rd Qu.:24.00   3rd Qu.:1.0000   3rd Qu.:2079   3rd Qu.:2.00   3rd Qu.:1.0000  
 Max.   :92.00   Max.   :29.00   Max.   :1.0000   Max.   :8890   Max.   :3.00   Max.   :1.0000 
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Beitrag von jogo »

Hallo MAY,

ja, das ist wirklich komisch. :shock:
Ich habe wirklich geglaubt, dass in Deinen Daten irgendwo NAs sich versteckt haben, die man so hatte entdecken können:

Code: Alles auswählen

I <- iris # der Dataframe Iris ist standardmäßig in R enthalten
I[7,2] <- NA
summary(I)
mit dem Ergebnis:

Code: Alles auswählen

> summary(I)
  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width          Species  
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100   setosa    :50  
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300   versicolor:50  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300   virginica :50  
 Mean   :5.843   Mean   :3.055   Mean   :3.758   Mean   :1.199                  
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800                  
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500                  
                 NA's   :1                                                      
Gruß, Jörg
MAY

Re: Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Beitrag von MAY »

Lieber Jörg
Ich habe den gleichen Befehl ausprobiert, und bekomme den gleichen Output wie bei dir:

Code: Alles auswählen

> I <- iris # der Dataframe Iris ist standardmäßig in R enthalten
> I[7,2] <- NA
> summary(I)
  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width          Species  
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100   setosa    :50  
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300   versicolor:50  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300   virginica :50  
 Mean   :5.843   Mean   :3.055   Mean   :3.758   Mean   :1.199                  
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800                  
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500                  
                 NA's   :1          
Jedoch verstehe ich nicht ganz, was dieser Output zu bedeuten hat und wie ich diese "NA" loswerden kann?

Beste Grüsse
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Beitrag von Athomas »

Wenn Du die Werte von "Distance" passend skalierst (etwa durch das Maximum teilst), funktioniert es...
MAY

Re: Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Beitrag von MAY »

Hallo Thomas
Vielen herzlichen Dank für deine Antwort.
1. Ich weiss nicht wie man das skaliert oder wie du das genau meinst. Hast du vieleicht einen Code oder einen Beispiel für mich wie ich es machen könnte?
2. Würden sich durch die Skalierung die Koeffizienten nicht verändern?

Liebe Grüsse
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Konfidenzintervall: Ergebnis zeigt "NA" an. Warum?

Beitrag von Athomas »

Du kannst die Variable data$Distance (btw: data ist ein ganz, ganz schlechter Name für den dataframe - weil das Wort zum Standard-Sprachumfang von R gehört) durch eine Konstante dividieren - vielleicht den Maximalwert, oder zum Beispiel auch 1000.

Das wäre dann so, als ob Du ursprüngliche Angaben in Metern in Kilometer uminterpretierst.

Die Antwort auf die Frage, welche Folgen das für die berechneten Parameter hat, solltest Du Dir selbst überlegen.
Antworten