gpt4 book ai didi

r - 有条件地替换数组中的值

转载 作者:行者123 更新时间:2023-12-01 12:13:12 28 4
gpt4 key购买 nike

我想修改一个数组,但具有逐个元素的条件。这就是我想要做的

vector <- runif(18, 0,1)
xx <- array(vector, dim=c(2,3,3))
for (i in 1:2) {
for (j in 1:3) {
xx[i,j,1] <- ifelse(xx[i,j,1]<0.5,1,xx[i,j,1])
xx[i,j,2] <- ifelse(xx[i,j,2]<0.4,1.5,xx[i,j,2])
xx[i,j,3] <- ifelse(xx[i,j,3]<0.2,2,xx[i,j,3])
}
}

有没有更有效的方法呢?谢谢

最佳答案

不确定您所说的高效是什么意思,但这可以避免循环:

vector <- runif(18, 0,1)
xx <- array(vector, dim=c(2,3,3))
xx
xx[,,1][xx[,,1]<.5] <- 1
xx[,,2][xx[,,2]<.4] <- 1.5
xx[,,3][xx[,,3]<.2] <- 2

Try it online!

关于r - 有条件地替换数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50273763/

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