R语言 对数据集的因子水平应用用户定义的函数 – by()函数
R编程中的 by() 函数是一个面向对象的封装函数,它对函数调用参数中传递的数据集的因子水平执行所提供的函数。
语法: by(data, INDICES, FUN)
参数
data: 代表数据集
INDICES: 代表数据集的因子列表
FUN: 代表要在因子水平上执行的函数。
例1 :
# Using mtcars dataset
df <- data.frame(mtcars)
# Factor levels on gear
dffactors <- factor(mtcarsgear)
# Output maximum hp of each factor i.e., gears
by(df, dffactors, function(x){
m <- max(xhp)
})
输出
dffactors: 3
[1] 245
------------------------------------------------------------
dffactors: 4
[1] 123
------------------------------------------------------------
dffactors: 5
[1] 335
例2 :
# Using mtcars dataset
df <- data.frame(mtcars)
# Factor levels on gear
dffactors <- factor(mtcarsgear)
# Output mean of qsec of each factor i.e., gears
by(df, dffactors, function(x){
m <- mean(xqsec)
})
输出
dffactors: 3
[1] 17.692
------------------------------------------------------------
dffactors: 4
[1] 18.965
------------------------------------------------------------
dffactors: 5
[1] 15.64