【发布时间】:2013-08-13 02:09:49
【问题描述】:
我有一个 10 x 5 的数据框和一个接收 2 个输入 a 和 b 的函数。
a 是一个向量,b 是一个整数。
函数fun 计算向量a 的平均值并将其乘以b 并返回结果。在下面的代码中,我尝试将apply() 这个函数应用于x 的每一列,但它似乎不起作用。请帮忙!
x = data.frame(rnorm(10), rnorm(10), rnorm(10), rnorm(10), rnorm(10))
fun = function(a, b)
{
c = mean(a) * b
return(c)
}
apply(x, 2, fun(x,2))
【问题讨论】:
-
查看
?apply的帮助页面,其中可能提到了...参数。 -
附带说明,在执行变量赋值时,更常见的样式是 R 是
<-。大多数人只在函数定义或调用中使用=,例如fun(a, b=2)。此外,return 语句是可选的。如果不使用,该函数将简单地返回最后一个值,例如,fun <- function(a, b) mean(a) * b