Extraktion von Daten aus Varianzanalyse

Varianzanalyse, Diskriminanzanalyse, Kontingenzanalyse, Faktorenanalyse, Clusteranalyse, MDS, ....

Moderator: EDi

Antworten
Werekorden
Beiträge: 83
Registriert: So Feb 04, 2018 7:52 pm

Extraktion von Daten aus Varianzanalyse

Beitrag von Werekorden »

Hi,

ich nutze das Package VCA.
Dort gibt es eine Beispielberechnung mit einem Beispiel-Datensatz

Code: Alles auswählen

install.packages("VCA")
library("VCA")
# Function converts a color-string into RGB-code
# col (character) string specifying an R-color
# alpha (numeric) degree of transparency in [0, 1], 0=fully transparency, 1=opaque
asRGB <- function(col, alpha)
  rgb(t(col2rgb(col))/255, alpha=alpha)

data(dataEP05A2_1)

varPlot(y~day/run, dataEP05A2_1,
        # controls horizontal mean lines
        MeanLine=list(var=c("int", "day"), col=c("gray75", "blue"), lwd=c(2,2)),
        # controls how points (concentrations) are plotted, here using semi-transparency
        # to see overlayed points
        Points=list(pch=16, col=asRGB("black", .5), cex=1.25),
        # controls how replicate-means are plotted
        Mean=list(col="magenta", cex=1.25, lwd=2),
        # controls how the title is shown
        Title=list(main="20 x 2 x 2 Single-Site Evaluation", cex.main=1.75),
        # controls plotting of levels per VC, if as many lists as there are VCs are
        # specified, each VC can be specified individually
        VarLab=list(list(cex=1.5), list(cex=1.25)),
        # controls how names of VCs are plotted
        VCnam=list(font=2, cex=1.5),
        # controls appearance of the Y-axis label
        YLabel=list(text="Concentation [mg/dL]", las=0, line=3, font=2, cex=1.25),
        # Y-axis labels rotated
        las=1)

# fit 20 x 2 x 2 model to data
fit.SS1 <- fitVCA(y~day/run, dataEP05A2_1)
fit.SS1
# estimate 95% confidence intervals, request CI for
# all variance components via 'VarVC=TRUE'
inf.SS1 <- VCAinference(fit.SS1, VarVC=TRUE)
inf.SS1

summary(inf.SS1)[1][[1]][[1]][[1]][[1]]
Mit dem letzten Befehl möchte ich, dass mir bestimmte Werte ausgeworfen werden damit ich damit eine schöne Tabelle mit kableextra in RMarkdown erstellen kann.
Das scheint aber nicht so einfach zu sein wie bei einem normalen linearen Modell.

Wir kann ich einfach herausfinden wo die Werte der "summary" also z.B. CI LCL, Estimate usw. liegen?

Vielen Dank für eure Hilfe

VG
Andreas
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Extraktion von Daten aus Varianzanalyse

Beitrag von jogo »

Hallo Andreas,
Werekorden hat geschrieben: Mi Nov 25, 2020 5:55 pm
Wir kann ich einfach herausfinden wo die Werte der "summary" also z.B. CI LCL, Estimate usw. liegen?
ich beschreibe das mal anhand der Funktion summary.lm()
Die Beschreibung zu der Struktur des Rückgabewerte befindet sich nicht in

Code: Alles auswählen

help(summary)
sondern spezifisch für die Objektklasse in

Code: Alles auswählen

help(summary.lm)
- dort dann im Abschnitt Value
Üblich ist bei solchen komplexen Funktionen, dass auch das Ergebnis entsprechend komplex ist.
Es lässt sich aber alles mit Hilfe der üblichen Zugriffsoperatoren ergründen.

Gruß, Jörg
Werekorden
Beiträge: 83
Registriert: So Feb 04, 2018 7:52 pm

Re: Extraktion von Daten aus Varianzanalyse

Beitrag von Werekorden »

ARGH ich hab fit.SS1 und inf.SS1 vertauscht.

Damn it.
Für Interessierte so sieht die inf.SS1 aus

Code: Alles auswählen

Inference from (V)ariance (C)omponent (A)nalysis
------------------------------------------------

> VCA Result:
-------------

  Name    DF      SS      MS     VC     %Total  SD     CV[%]  Var(VC)
1 total   67.0876                3.299  100     1.8163 7.2669        
2 day     19      88.2885 4.6468 0.0011 0.0332  0.0331 0.1324 0.2768 
3 day:run 20      92.8476 4.6424 1.3445 40.7547 1.1595 4.6392 0.5865 
4 error   40      78.1359 1.9534 1.9534 59.2121 1.3976 5.5919 0.1908 

Mean: 24.9942 (N = 80) 

Experimental Design: balanced  |  Method: ANOVA


> VC:
-----
        Estimate CI LCL CI UCL One-Sided LCL One-Sided UCL
total   3.299    2.4156 4.7767 2.5378        4.495        
day     0.0011   0*     1.0322 0*            0.8664       
day:run 1.3445   0*     2.8455 0.0848        2.6042       
error   1.9534   1.3167 3.198  1.4013        2.9475       

> SD:
-----
        Estimate CI LCL CI UCL One-Sided LCL One-Sided UCL
total   1.8163   1.5542 2.1856 1.5931        2.1201       
day     0.0331   0*     1.016  0*            0.9308       
day:run 1.1595   0*     1.6869 0.2912        1.6137       
error   1.3976   1.1475 1.7883 1.1838        1.7168       

> CV[%]:
--------
        Estimate CI LCL CI UCL One-Sided LCL One-Sided UCL
total   7.2669   6.2183 8.7443 6.3737        8.4825       
day     0.1324   0*     4.0648 0*            3.7241       
day:run 4.6392   0*     6.749  1.1652        6.4565       
error   5.5919   4.591  7.1548 4.7362        6.8689       


95% Confidence Level  | * CI-limits constrained to be >= 0
SAS PROC MIXED method used for computing CIs 
Jetzt schau ich mal, ob ich die Struktur leicht erkenne an Hand der Typ Spalte.
Irgendwie will mir das gerade nicht in den Kopf

VG
Andreas
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Extraktion von Daten aus Varianzanalyse

Beitrag von EDi »

?str
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Werekorden
Beiträge: 83
Registriert: So Feb 04, 2018 7:52 pm

Re: Extraktion von Daten aus Varianzanalyse

Beitrag von Werekorden »

Hallo,
Genau Edi mit "str" hab ich mir jetzt mal die liste ausgedruckt dann findet man die einzelnen Abschnitte besser und bin mit soetwas rausgekommen.

Code: Alles auswählen

inf.SS1[["ConfInt"]][["VC"]][["OneSided"]][[2]][[4]]
DAS ist aber absolut unpraktisch wenn ich für jeden Wert soetwas zusammenschreiben muss.
Ich muss 89 Werte aus der Liste rausziehen, das kann doch nicht sein, dass man das Alles per Hand machen muss.

Gibt es da kein package, was solche Daten automatisch rauszieht?

Schönen Abend
Andreas
Antworten