📅  最后修改于: 2023-12-03 15:07:48.022000             🧑  作者: Mango
在R编程中,我们经常需要对不规则数组进行数据分析和统计分析。这时候,我们可以使用tapply()函数对数组进行分组以及应用函数。
tapply(X, INDEX, FUN, ..., simplify = TRUE)
参数说明:
首先,我们来看一个简单的示例。假设我们有以下数据集:
data <- data.frame(
gender=c("M", "F", "M", "F", "F", "M", "M"),
age=c(20, 25, 30, 35, 40, 45, 50),
salary=c(5000, 6000, 8000, 7000, 9000, 10000, 12000)
)
我们想要按性别对数据集进行分组,然后对每个分组计算平均薪资。这时候,可以使用tapply()函数,如下所示:
tapply(data$salary, data$gender, mean)
输出结果为:
F M
8000 9666.666
可以看出,对于性别为F的分组,平均薪资是8000;对于性别为M的分组,平均薪资是9666.666。
除了可以使用内置函数,我们还可以自定义函数。例如,我们想要计算每个分组的标准差和方差,可以定义如下函数:
my_stats <- function(x) {
c(mean=mean(x), sd=sd(x))
}
然后,使用tapply()函数计算结果,如下所示:
tapply(data$salary, data$gender, my_stats)
输出结果为:
$F
mean sd
8000 1732.051
$M
mean sd
9666.667 2477.678
可以看到,对于性别为F的分组,平均薪资是8000,标准差是1732.051;对于性别为M的分组,平均薪资是9666.666,标准差是2477.678。
综上所述,tapply()函数在进行数据分析和统计分析时,能够对不规则数组进行有效分组和应用函数,为我们的工作带来很大的便利。