R<给*apply函数族中的FUN传递多个参数>


myfxn <- function(var1,var2,var3){
  var1*var2*var3

}

lapply(1:3,myfxn,var2=2,var3=100)

sapply(1:3,myfxn,var2=2,var3=100)
 lapply(1:3,myfxn,var2=2,var3=100)
[[1]]
[1] 200

[[2]]
[1] 400

[[3]]
[1] 600


> sapply(1:3,myfxn,var2=2,var3=100)
[1] 200 400 600
R语言apply函数族是一组非常有用的函数,用于对数据进行操作和计算。它们的共同点是都可以对数组、矩阵、列表等数据结构进行操作,是一种方便而高效的数据操作方式。下面分别介绍一下这些函数的用法和示例: 1. apply函数 apply函数的作用是对矩阵或数组的某些维度进行操作,返回一个结果向量、矩阵或列表。它的基本语法为: ``` apply(X, MARGIN, FUN, ...) ``` 其中,X是要操作的矩阵或数组;MARGIN是指定对哪个维度进行操作,取值为1表示对行进行操作,取值为2表示对列进行操作,取值为c(1,2)则表示对整个矩阵进行操作;FUN是要应用的函数。 例如,计算矩阵每一行的平均值: ``` mat <- matrix(1:9, ncol=3) apply(mat, 1, mean) ``` 2. lapply函数 lapply函数的作用是对列表中的每个元素应用一个函数,返回一个新的列表。它的基本语法为: ``` lapply(X, FUN, ...) ``` 其中,X是要操作的列表;FUN是要应用的函数。 例如,对一个列表中的每个元素求平方: ``` lst <- list(1:3, 4:6, 7:9) lapply(lst, function(x) x^2) ``` 3. sapply函数 sapply函数与lapply函数类似,用于对列表中的每个元素应用一个函数,并返回一个向量或矩阵。它的基本语法为: ``` sapply(X, FUN, ...) ``` 其中,X是要操作的列表;FUN是要应用的函数。 例如,对一个列表中的每个元素求平方,并返回一个向量: ``` lst <- list(1:3, 4:6, 7:9) sapply(lst, function(x) x^2) ``` 4. tapply函数 tapply函数的作用是对向量按照某个因子进行分组,然后对每组应用一个函数。它的基本语法为: ``` tapply(X, INDEX, FUN, ...) ``` 其中,X是要操作的向量;INDEX是用来分组的因子;FUN是要应用的函数。 例如,对一个向量按照某个因子进行分组,并计算每组的平均值: ``` vec <- c(1, 2, 3, 4, 5, 6) group <- c("A", "B", "A", "B", "A", "B") tapply(vec, group, mean) ``` 5. mapply函数 mapply函数的作用是对多个向量进行相同的操作,返回一个向量或矩阵。它的基本语法为: ``` mapply(FUN, ..., MoreArgs = NULL) ``` 其中,FUN是要应用的函数;...是要操作的向量,可以有多个;MoreArgs是一个可选的参数,用来传递额外的参数FUN。 例如,对两个向量进行相加: ``` vec1 <- c(1, 2, 3) vec2 <- c(4, 5, 6) mapply(function(x, y) x + y, vec1, vec2) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值