是否在purrr中的map()函数中使用LEVENE_TEST? [英] use levene_test in map() function from purrr?
本文介绍了是否在purrr中的map()函数中使用LEVENE_TEST?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
purrr
包中的map()
函数执行Levene测试?或者,有没有其他简单的方法来计算各种变量的Levene测试?
我的数据框包含各种因子和数字列,所以我尝试使用map_if()
,它可以很好地工作,例如,用于Shapiro测试。不过,我不知道如何指定方程式。我要根据";治疗&因子测试我的所有数值变量。
library("tidyverse")
library("rstatix")
data <- data.frame(site = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L),
.Label = c("S1 ", "S2 ", "S3 "), class = "factor"),
plot = structure(c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L),
.Label = c(" Tree 1 ", " Tree 2 ", " Tree 3 "), class = "factor"),
Treatment = structure(c(2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L), .Label = c("T1", "T2"), class = "factor"),
flux1 = c(11.52188065, 8.43156699, 4.495312274, -1.866676811, 3.861102035, -0.814742373, 6.51039536, 4.767950345, 10.36544542, 1.065963875),
flux2 = c(0.142259208, 0.04060245, 0.807631744, 0.060127596, -0.157762562, 0.062464942, 0.043147603, 0.495001652, 0.34363348, 0.134183704),
flux3 = c(0.147506197, 1.131009714, 0.038860728, 0.0176834, 0.053191593, 0.047591306, 0.00573377, -0.034926075, 0.123379247, 0.018882469))
map_if(data, is.numeric, levene_test(. ~ Treatment))
有什么建议吗?谢谢您的帮助!
现在还提供了一个可重现的示例;)
推荐答案
以下是另一种选择: 第一个透视到长数据,
然后group_by
并应用公式(此处流量应为系数!)
library(tidyr)
library(dplyr)
data %>%
pivot_longer(
cols = starts_with("flux"),
names_to = "flux",
values_to = "value"
) %>%
mutate(flux = as.factor(flux)) %>%
group_by(flux) %>%
levene_test(value ~ Treatment)
flux df1 df2 statistic p
<fct> <int> <int> <dbl> <dbl>
1 flux1 1 8 0.410 0.540
2 flux2 1 8 2.85 0.130
3 flux3 1 8 1.11 0.323
这篇关于是否在purrr中的map()函数中使用LEVENE_TEST?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文