gpt4 book ai didi

R - 我可以将此循环编写为应用函数吗?

转载 作者:行者123 更新时间:2023-12-04 11:55:22 24 4
gpt4 key购买 nike

我创建了以下循环,但想将其编写为 lapply 函数。
这可能吗?我正在尝试了解应用函数,但还没有完全掌握它。

Decay <- function(x, decay=y) stats::filter(x, decay, method = "recursive")

d<-iris[,c("Sepal.Length","Sepal.Width","Petal.Length","Petal.Width")]

DecayX <- c(0.1,0.3,0.6,0.8,0.95)
DecVars = c("Sepal.Length","Petal.Width")

for (j in DecVars){
for (i in DecayX){
VarName <- paste(colnames(d[j]),i*100,"DEC",sep="_")
d[[VarName]]<-Decay(d[j],i)
}
}

最佳答案

我看不出有任何理由在这里使用 apply 系列。

您可以使用 mapply

vars <- c(expand.grid(DecayX,DecVars,stringsAsFactors = F))
invisible(
mapply(function(x,DecV){VarName <- paste(colnames(d[DecV]),x*100,"DEC",sep="_");
d[[VarName]]<<-Decay(d[DecV],x)},x=vars[[1]],DecV=vars[[2]])
)

我认为在双循环的情况下我不会使用 apply家庭。

关于R - 我可以将此循环编写为应用函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51824640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com