gpt4 book ai didi

r - 对于向量的不同元素具有不同任务的循环

转载 作者:行者123 更新时间:2023-12-02 08:05:52 25 4
gpt4 key购买 nike

我有以下向量:

set.seed(1); v1 = rnorm(100, 40, 10)

fun1 <- function(x){
x = x - 1
return(x)
}

fun2 <- function(x){
x = x * 10
return(x)
}

fun3 <- function(x){
x = x / 5
return(x)
}

我想为向量的长度设置一个循环,但为元素 [i] 应用不同的函数:

fun1 for v1[1:20]&v1[41:60]
fun2 for v1[21:40]
fun3 for v1[61:100]

然后返回一个向量。

原来我真的不知道如何优雅地做到这一点。

最佳答案

使用mapply:

unlist(mapply(function(myFun, x) myFun(x),
myFun = list(fun1, fun2, fun1, fun3),
x = list(v1[1:20], v1[21:40], v1[41:60], v1[61:100])))

如果您可以向我们更新为特定子集使用特定函数的逻辑,那么我们可以使其更加自动化,而不是为 myFunx 键入值。

关于r - 对于向量的不同元素具有不同任务的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51748100/

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