R语言 indices
时间: 2023-11-21 07:06:14 浏览: 49
indices是一个因子或因子组成的列表,用于定义分组。在R语言中,通过使用by()函数可以按照指定的indices对数据进行分组,并计算每个分组的描述性统计量。by()函数可以一次性返回多个描述性统计量,其功能和aggregate()函数相似。下面是一个示例:
```R
# 定义自定义描述性统计函数
mystats <- function(x, na.omit=FALSE) {
if (na.omit) x <- x[!is.na(x)]
m <- mean(x)
n <- length(x)
s <- sd(x)
# 计算偏度
skew <- sum((x-m)^3/s^3) / n
# 计算峰度
kurt <- sum((x-m)^4/s^4) / n - 3
return(c(n=n, mean=m, stdev=s, skew=skew, kurtosis=kurt))
}
# 使用by()函数进行分组计算描述性统计量
myvars <- c("mpg", "hp", "wt")
by(mtcars[myvars], mtcars$am, mystats)
```
以上代码将按照`mtcars$am`这个因子对`mtcars`数据集中的`mpg`、`hp`和`wt`三个变量进行分组,并计算每个分组的数量、平均值、标准差、偏度和峰度等描述性统计量。输出结果如下:
```
mtcars$am: 0
n mean stdev skew kurtosis
19.00000000 17.14736842 3.83396639 0.01395038 -0.80317826
--------------------------------------------------------
mtcars$am: 1
n mean stdev skew kurtosis
13.00000000 24.39230769 6.16650381 0.05256118 -1.45535200
```