【发布时间】:2021-09-16 04:39:54
【问题描述】:
我的数据是:
X0 X1 X2 X3 category
0 15 4 4 TAH
0 2 5 0 MAT
0 11 9 0 BIO
我想逐行计算正态性、偏度和峰度。主要原因是我在不同的行中有类别(在专用列中)。有没有可以实现这个功能的函数?
我一直在尝试使用moments 包和dplyr 包来做到这一点,类似于这篇文章:
Function that calculates, mean, variance and skewness at the same time in a dataframe。
但他们的解决方案是按列而不是按行。
df3 %>%
gather(category, Val) %>%
group_by(category) %>%
summarise(Mean = mean(Val),
Vari = var(Val),
Skew = skewness(Val))
为了正常,我对每一行分别尝试了以下命令:
shapiro.test(df3[1,])
对此的任何帮助将不胜感激。
【问题讨论】:
-
注意: 更好地使用
e1071包(v1.7.8)的skewness函数,它比moments包(v0.14)更好地建立. -
感谢您的建议。我想知道为什么使用这两个包的结果如此不同:
e1071和moments -
试试
type=1。比较:identical(e1071::skewness(unlist(d[3, -5]), type=1), moments::skewness(unlist(d[3, -5])))。阅读?e1071::skewness以决定您要使用哪种类型。
标签: r distribution skew rowwise