【发布时间】:2021-06-20 13:59:03
【问题描述】:
我有数据,我想对这些数据运行一个复杂的函数。该函数的思想是,如果当前元素的值为>特定值,那么所有即将到来的元素的值都需要设置为0。例如,
假设我的数据是x <- 1:16 然后,我想找到从1 到16 的每个值的平方根,如果我们得到一个大于3 的平方根,那么循环必须停止并设置0 的所有即将到来的值。
例如,9 的平方根是3。因此,函数必须在此处停止并将元素的所有值设置为从9 到16 到0。
这是我的尝试:
xy <- list()
for (i in seq_along(x)){
xy[[i]] <- myfunc(x[i])
if (xy[[i]] > 3 )
break
xy[[i]] <- 0
}
所以我希望这些值是这样的:
> xy
[[1]]
[1] 1
[[2]]
[1] 1.4
[[3]]
[1] 1.7
[[4]]
[1] 2
[[5]]
[1] 2.2
[[6]]
[1] 2.4
[[7]]
[1] 2.6
[[8]]
[1] 2.8
[[9]]
[1] 0
[[10]]
[1] 0
[[11]]
[1] 0
[[10]]
[1] 0
[[12]]
[1] 0
[[13]]
[1] 0
[[14]]
[1] 0
[[15]]
[1] 0
[[16]]
[1] 0
【问题讨论】:
标签: r