【发布时间】:2020-05-22 03:15:09
【问题描述】:
我在 R 中有一个 data.frame,其中包含大多数类型的列:
df <- data.frame(ID = c(1, 2, 3, 4),
Gender = c("Male", "Male", "Female", "Male"),
Average_Score_Test_1 = c(1.2,2.4,3.2,1.8),
Average_Score_Test_2 = c(3.2, 2.8, 1.7, 2.5),
Qualification = c("UG","UG","UG","PG")
)
虽然有成千上万的列和行。 我有几个列组名称的向量,例如
DV_Type1 <- c("Average_Score_Test_1", "Average_Score_Test_2")
对变量进行分组也是如此
Type1_Group <- c("Gender", "Qualification")
然后我运行了一个嵌套的 for 循环,该循环遍历每个向量的元素以运行显着性测试等...
这对于 kruskal_test 运行完美,例如
df %>%
kruskal_test(df[[DV_Type1[1]]] ~ df[[Type1_Group[1]]])
但使用完全相同的代码,但我得到的是 wilcox_test 而不是 kruskal_test
df %>%
wilcox_test(df[[DV_Type1[1]]] ~ df[[Type1_Group[1]]])
错误:无法提取不存在的列。 'Type1_Group[1]' 列不存在
为什么这不起作用?
使用 Rstatix 在 tibble 中获取结果。
【问题讨论】:
-
欢迎来到 SO。如果您使您的问题可重现,包括可用于测试和验证可能解决方案的数据和代码,那么为您提供帮助会更容易。看看speakerdeck.com/jennybc/reprex-help-me-help-you?slide=5 & stackoverflow.com/questions/5963269/…?
-
我只是在猜测:尝试将
df[[DV_Type1[1]]] ~ df[[Type1_Group[1]]]替换为df[DV_Type1[1],] ~ df[Type1_Group[1],]。