【问题标题】:output of variable names in looped Tukey test循环 Tukey 测试中变量名的输出
【发布时间】:2018-09-12 13:24:27
【问题描述】:

我正在执行多个 TukeyHSD 测试,方法是遍历所有因变量名称,如 Eric Lecoutre 在此线程中提供的代码中所示:

Loop through several post hoc tests in R

效果很好,非常感谢 Eric!但在输出中,变量名称写为数字:[[1]] 表示第一个变量,[[2]] 表示第二个变量,...[ [137]] 为第 137 个变量等。

如何将这些数字更改为输出中的变量名(以便将输出捕获到文件中并在输出文件中保留有关变量名的信息)?

具体来说,在 Eric Lecoutre 回答的输出中:

[[1]]

均值的 Tukey 多重比较

95% family-wise confidence level

拟合:aov(公式 = 模型)

例如,如果循环的 2 个因变量的名称是“sepal.width”和“sepal.length”,我想将输出的 [[1]] 更改为[[sepal.width]]、[[2]]的输出成[[sepal.length]]。

如何使脚本循环遍历数字并将数字更改为变量名,以便输出如下所示(为了简化输出,我省略了统计结果): p>

[[sepal.width]]

均值的 Tukey 多重比较

95% family-wise confidence level

拟合:aov(公式 = 模型)

[[sepal.length]]

均值的 Tukey 多重比较

95% family-wise confidence level

拟合:aov(公式 = 模型)

非常感谢!

【问题讨论】:

    标签: loops variables posthoc tukey


    【解决方案1】:

    您的问题没有明确说明,但据我了解,您想更改列表对象名称。可以使用names(your_list) 收集列表对象名称,例如。

    abc=list(x=cars[,1],y=cars[,2])
    names(abc)
    [1] "x" "y"

    当然也可以随意更换

    names(abc)=c("exx","why")

    【讨论】:

    • 对不起,我的问题不清楚。我现在已经编辑了它,希望它更具体。非常感谢您的帮助。
    • 但变量名已经在数据框中,即它们是列名。但是,Tukey 测试的输出不保留变量名(或列名);而是将变量名更改为数字 1、2 等。那么,我应该如何更改 Eric 的代码以使 Tukey 输出自动打印变量名(或列名)而不是打印数字?
    • 看看 lapply 函数中的 USE.NAMES 参数。
    • 谢谢!我做了一些搜索,发现将 sapply 与参数 USE.NAMES=TRUE 一起使用会保留输出中的变量名称。 lapply 没有 USE.NAMES 选项。所以我在代码中将 lapply 更改为 sapply。问题解决了。
    猜你喜欢
    • 2014-06-25
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 2019-11-19
    相关资源
    最近更新 更多