按年份计算R中的偏斜和峰度
我有一张这样的桌子:按年份计算R中的偏斜和峰度,r,skew,group-summaries,kurtosis,R,Skew,Group Summaries,Kurtosis,我有一张这样的桌子: start_table <- data.frame("Water_Year" = c("1903", "1903", "1904", "1904"), "X" = c(13, 11, 12, 15), "Day" = c(1, 2, 1, 2)) start\u table一个选项是groupby/summary library(dplyr) library(moments) start_table %>% group_by(Water_Year)
start_table <- data.frame("Water_Year" = c("1903", "1903", "1904", "1904"), "X" = c(13, 11, 12,
15), "Day" = c(1, 2, 1, 2))
start\u table一个选项是groupby/summary
library(dplyr)
library(moments)
start_table %>%
group_by(Water_Year) %>%
summarise(Skew = skewness(X), Kurtosis = kurtosis(X))
将fBasics
与数据一起使用。表
:
库(fBasics)
库(数据表)
setDT(起始表)[,(偏斜=偏斜(X),峰度=峰度(X)),(水年)][]
#>水年偏斜峰度
#> 1: 1903 0 -2.75
#> 2: 1904 0 -2.75
您还可以定义偏度/峰度函数:
kurtosis <- function(x) {
m4 <- mean((x - mean(x))^4)
kurtosis <- m4/(sd(x)^4) - 3
kurtosis
}
skewness <- function(x) {
m3 <- mean((x - mean(x))^3)
skewness <- m3/(sd(x)^3)
skewness
}
kurtosis <- function(x) {
m4 <- mean((x - mean(x))^4)
kurtosis <- m4/(sd(x)^4) - 3
kurtosis
}
skewness <- function(x) {
m3 <- mean((x - mean(x))^3)
skewness <- m3/(sd(x)^3)
skewness
}
aggregate(X ~ Water_Year,
FUN = function(x) c(kurtosis = kurtosis(x), skewness = skewness(x)),
data = start_table)
Water_Year X.kurtosis X.skewness
1 1903 -2.75 0.00
2 1904 -2.75 0.00