【问题标题】:Referencing object elements引用对象元素
【发布时间】:2020-12-04 21:31:03
【问题描述】:

我正在尝试访问从 TukeyHSD 函数返回的对象的各个元素。我可以看到如何访问各个元素,但如何访问标签?

$`Auto$CargoSpace`
                  diff       lwr        upr        p adj
wagon-SUV -3747.333 -7664.507  -980.0801 6.855348e-03
trunk-SUV  -4792.333 -5621.311 -2371.3357 2.065806e-05
trunk-wagon  -968.000 -3823.523  2125.54328 7.410039e-01

我希望能够像使用 tibble 或数据框一样访问每一行/列组合。这样我可以稍后在代码中添加解释。假设我想得到这个结果:

CargoSpace p adj 分析

wagon-SUV 6.85 不太可能产生好处

trunk-SUV 2.06 值得研究

【问题讨论】:

  • 你能显示预期的输出吗

标签: r tukey


【解决方案1】:

我们使用$ 提取输出,然后使用grep(如果部分匹配)或%in%(用于固定匹配)对行进行子集化,创建一个data.frame,其子集的行名数据集以及“p adj”列。然后,我们可以根据 'p.adj' 的值创建 'Analysis' 列

out1 <- out$`Auto$CargoSpace`
out2 <- out1[grep("SUV$", row.names(out1),]
out3 <- data.frame(CargoSpace = row.names(out2), p.adj = out2[, "p adj"])
out3$Analysis <- ifelse(out2$p.adj < 0.0001, "Worth investigating", "Unlikely to produce a benefit")

可重现的例子

fm1 <- aov(breaks ~ wool + tension, data = warpbreaks)
out <- TukeyHSD(fm1, "tension", ordered = TRUE)



out$tension
#         diff        lwr      upr       p adj
#M-H  4.722222 -4.6311985 14.07564 0.447421021
#L-H 14.722222  5.3688015 24.07564 0.001121788
#L-M 10.000000  0.6465793 19.35342 0.033626219

【讨论】:

  • 我认为他们想要一些来自“紧张”的专栏:out$tension[, "diff" ]
  • 具体来说,我试图能够将列名如“trunk-SUV”和“p adj”值。
  • 理想情况下,我想将它们全部放在一个 tibble 中,并添加一列以供稍后添加。
  • @JD08 trunk_SUV 是行名。你能用预期的输出更新你的帖子吗
猜你喜欢
  • 2023-03-22
  • 2016-01-25
  • 1970-01-01
  • 2017-04-23
  • 2017-10-04
  • 2016-05-10
  • 2013-11-06
  • 2016-04-10
  • 2012-02-19
相关资源
最近更新 更多