Rozważmy następujący fragment kodu zabawki (wyłącznie ilustracyjny):
y <- data.frame(matrix(c(11,12,13,14,113,124,215,219),nrow=4));
y[,2] <- factor(y[,2]);
aov.result <- aov(y$X1 ~ y$X2, data=y);
thsd.result <- TukeyHSD(aov.result); # Produces NaNs but nevermind
fix(thsd.result)
ostatnie polecenie (fix) pokazuje, że obiekt thsd.result jest strukturą zawierającą listę i strukturę zagnieżdżoną:
structure(list(`df$X2` = structure(c(1, 2, 3, 1, 2, 1, NaN, NaN,
NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN,
NaN, NaN, NaN), .Dim = c(6L, 4L), .Dimnames = list(c("124-113",
"215-113", "219-113", "215-124", "219-124", "219-215"), c("diff",
"lwr", "upr", "p adj")))), .Names = "df$X2", class = c("multicomp",
"TukeyHSD"), orig.call = quote(aov(formula = df$X1 ~ df$X2, data = df)), conf.level =
0.95, ordered = FALSE);
Moje pytanie brzmi: w jaki sposób mogę uzyskać dostęp do tej struktury? To znaczy. Jak na przykład uzyskać nazwy .Dimnames składające się z par?
Odpowiedzi:
0 dla odpowiedzi № 1masz na myśli coś takiego:
dimnames(thsd.result[[1]])
i to:
> rownames(thsd.result[[1]])
[1] "124-113" "215-113" "219-113" "215-124" "219-124" "219-215"
> colnames(thsd.result[[1]])
[1] "diff" "lwr" "upr" "p adj"
aby uzyskać wynik, wystarczy uzyskać do niego dostęp [[]]
.
Zobacz wyniki wydrukowane za pomocą:
thsd.result[[1]]
i thsd.result[[1]][,1]