【发布时间】:2021-07-23 17:32:45
【问题描述】:
我创建了一个函数(“analiz”),如下所示:
std_dev <- function(x) sd(x)/sqrt(length(x))
analiz <- function(x){
sprintf("Mean: %.2f, StandardDev: %.2f", mean(x), std_dev(x))}
我想分别为以下变量运行函数(“analiz”):
vec1 <- sample(1:1000,10)
vec2 <- sample(1:1000,20)
vec3 <- sample(1:1000,50)
.
.
.
vec10 <- sample(1:1000,300)
如果不写 10 次“analiz(vecN)”,我怎么能做到这一点?
【问题讨论】:
-
好吧,首先不要创建 10 个不同的
vec变量。创建一个类似vec <- lapply(c(10,20,50, ..., 300), function(x) sample(1:1000, x)的列表然后你可以做lapply(vec, analiz) -
@MrFlick 非常感谢。但是,实际上我将它们全部创建为示例。在我的工作中,向量是不同的。