I used car
package to perform anova analysis. Here I got sum of squares for error and factor (=Site) in the form of matrix. Code is here
library(car)
## One-Way MANOVA
anv<-summary(Anova(lm(cbind(Al, Fe, Mg, Ca, Na) ~ Site, data=Pottery)))
anv
Now I want to extract these two matrices from this result for next analysis. My desired output is like this-
>err_ss
Al Fe Mg Ca Na
Al 48.2881429 7.08007143 0.60801429 0.10647143 0.58895714
Fe 7.0800714 10.95084571 0.52705714 -0.15519429 0.06675857
Mg 0.6080143 0.52705714 15.42961143 0.43537714 0.02761571
Ca 0.1064714 -0.15519429 0.43537714 0.05148571 0.01007857
Na 0.5889571 0.06675857 0.02761571 0.01007857 0.19929286
>Site_ss
Al Fe Mg Ca Na
Al 175.610319 -149.295533 -130.809707 -5.8891637 -5.3722648
Fe -149.295533 134.221616 117.745035 4.8217866 5.3259491
Mg -130.809707 117.745035 103.350527 4.2091613 4.7105458
Ca -5.889164 4.821787 4.209161 0.2047027 0.1547830
Na -5.372265 5.325949 4.710546 0.1547830 0.2582456
After using the following code I got the result of error matrix but I failed to extract the last one.
str(anv)
err_ss<-anv$"SSPE"
> err_ss
Al Fe Mg Ca Na
Al 48.2881429 7.08007143 0.60801429 0.10647143 0.58895714
Fe 7.0800714 10.95084571 0.52705714 -0.15519429 0.06675857
Mg 0.6080143 0.52705714 15.42961143 0.43537714 0.02761571
Ca 0.1064714 -0.15519429 0.43537714 0.05148571 0.01007857
Na 0.5889571 0.06675857 0.02761571 0.01007857 0.19929286
Could anyone please help me to do it? Thanks in advance.
We need to extract based on the structure. If we look at the str(anv)
, it is a list
of 7 elements. The "SSPE", "SSPH" elements come under the "Site" element of "multivariate.tests". So extract both of them with either $
of [[
and then get both the matrices
out <- anv$multivariate.tests$Site[c("SSPE", "SSPH")]
out
#$SSPE
# Al Fe Mg Ca Na
#Al 48.2881429 7.08007143 0.60801429 0.10647143 0.58895714
#Fe 7.0800714 10.95084571 0.52705714 -0.15519429 0.06675857
#Mg 0.6080143 0.52705714 15.42961143 0.43537714 0.02761571
#Ca 0.1064714 -0.15519429 0.43537714 0.05148571 0.01007857
#Na 0.5889571 0.06675857 0.02761571 0.01007857 0.19929286
#$SSPH
# Al Fe Mg Ca Na
#Al 175.610319 -149.295533 -130.809707 -5.8891637 -5.3722648
#Fe -149.295533 134.221616 117.745035 4.8217866 5.3259491
#Mg -130.809707 117.745035 103.350527 4.2091613 4.7105458
#Ca -5.889164 4.821787 4.209161 0.2047027 0.1547830
#Na -5.372265 5.325949 4.710546 0.1547830 0.2582456
It is better to keep it in a list
instead of having multiple objects.