在Python中,我有以下代码:[i for i, e in enumerate(y) if e != 0]
这在定义函数内。在R中如何完成?
我正在创建的功能是(我希望“可能”是python代码转换为的任何东西):
bottom11 <- function(p,remain,final) {
possible <-
seed <- min(possible)
remain[i][seed] <- remain[i][seed] + final
p[seed] <- 0
return(remain)
}
答案 0 :(得分:3)
要将[i for i, e in enumerate(y) if e != 0]
转换为R,将有助于描述其字面含义:获取y
中元素不等于0的元素的所有索引。
在R中,许多操作都是隐式向量化的,因此您可以执行以下操作:
which(y != 0)
其中y != 0
返回对应于每个元素是否等于零的逻辑向量,而which
返回逻辑向量的索引TRUE
。