【问题标题】:Extracting data from Tukey HSD in R从 R 中的 Tukey HSD 中提取数据
【发布时间】:2013-02-18 15:58:01
【问题描述】:

考虑以下一段玩具代码(纯粹是说明性的):

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)

最后一个命令(修复)表明 thsd.result 对象是一个包含列表和嵌套结构的结构:

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);

我的问题是:我将如何访问这个结构? IE。例如,我将如何获得由对组成的 .Dimnames?

【问题讨论】:

  • 这只是一个列表。使用[[.]] 访问列表中的元素。此列表包含的对象是一个矩阵:thsd.result[[1]]。然后就可以直接访问矩阵了。
  • str(thsd.result)fix 更适合检查结构。

标签: r structure extract


【解决方案1】:

你的意思是这样的:

dimnames(thsd.result[[1]])

还有这个:

> 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"

要获得结果,只需使用[[]] 访问它。

查看打印结果:

thsd.result[[1]]thsd.result[[1]][,1]

【讨论】:

  • 是的。正是这样。非常感谢。
猜你喜欢
  • 2022-01-08
  • 1970-01-01
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多