当我使用 group_by 函数运行 shapiro.test 代码时,出现未起诉的错误

问题描述 投票:0回答:3

这是简化形式的数据框和代码

Type <- c("Bark", "Redwood", "Oak")
size <- c(10,15,13)
width <- c(3,4,5)
Ratio <- size/width
df <- data.frame(Type, size, width, Ratio)
mutate(df, ratio_log = log10(Ratio))
df %>% group_by(Type) %>% shapiro.test(ratio_log)

# Error in shapiro.test(., ratio_log) : unused argument (ratio_log)

请帮忙!谢谢你。

r normal-distribution
3个回答
0
投票

查看

?shapiro.test
,我们可以看到唯一可能的参数是:

  • x
    ,数据值的数值向量

使用

%>%
运算符,您可以看到输出显示

shapiro.test(.,ratio_log) 中的错误:未使用的参数 (ratio_log)

注意

ratio_log
之前的点。这意味着
shapiro.test
已经将
df
视为其参数。

使用

shapiro.test
无需分组。另外,要使用在
df
中创建的列,您应该编写:

df <- df %>% mutate(df, ratio_log = log10(Ratio))

您现在可以像

一样使用
shapiro.test

shapiro.test(df$ratio_log)

df$ratio_log %>% shapiro.test

0
投票

最后一句“shapiro.test(ratio_log)”应该改为“shapiro_test(ratio_log)”


0
投票

尝试 shapiro_test() 而不是 shapiro.test(),它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.