等效于R的Python:[i代表i,e等于e(= e)= 0]

时间:2019-07-12 22:22:43

标签: python r

在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)
}

1 个答案:

答案 0 :(得分:3)

要将[i for i, e in enumerate(y) if e != 0]转换为R,将有助于描述其字面含义:获取y中元素不等于0的元素的所有索引。

在R中,许多操作都是隐式向量化的,因此您可以执行以下操作:

which(y != 0)

其中y != 0返回对应于每个元素是否等于零的逻辑向量,而which返回逻辑向量的索引TRUE