Python到R的等价物:[如果e!=0,则枚举(y)中i代表i,e]

Python到R的等价物:[如果e!=0,则枚举(y)中i代表i,e],python,r,Python,R,在Python中,我有这样的代码:[I代表I,e在枚举(y)中,如果e!=0] 这在定义函数的范围内。在R中如何实现这一点 我正在创建的函数是(我希望“可能”是python代码翻译成的任何形式): bottom11要将[i for i,e in enumerate(y)(如果e!=0)]转换为R,它有助于用文字描述它的含义:获取y中元素不等于0的所有索引 在R中,许多操作是隐式向量化的,因此您可以执行以下操作: which(y != 0) 其中y!=0返回与每个元素是否等于零相对应的逻辑向量,

在Python中,我有这样的代码:
[I代表I,e在枚举(y)中,如果e!=0]

这在定义函数的范围内。在R中如何实现这一点

我正在创建的函数是(我希望“可能”是python代码翻译成的任何形式):


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

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

which(y != 0)

其中
y!=0
返回与每个元素是否等于零相对应的逻辑向量,并且
返回逻辑向量的索引,该索引为
TRUE

以将
[i表示i,e表示枚举(y)中的e,如果e!=0]
转换为R,它有助于用文字描述它的含义:获取
y
中元素不等于0的所有索引

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

which(y != 0)

其中
y!=0
返回与每个元素是否等于零相对应的逻辑向量,并且
返回逻辑向量的索引,该索引为
TRUE

谢谢!还有一个问题:整个python块如下:
for i in range(16):nofirst=first[:i]+[0.]+first[i+1:]total=sum(nofirst)cond=[first[i]*z/total for z in nofirst]second=[x+y for x,y in zip(second,cond)]
到目前为止,我已经像这样在R中构建了一个循环(不太有效):
for(i in 1:16){nofirst谢谢!还有一个问题:整个python块如下:
for i in range(16):nofirst=first[:i]+[0.]+first[i+1:]total=sum(nofirst)cond=[first[i]*z/total for z in nofirst]second=[x+y for x,y in zip(second,cond)]
到目前为止,我已经像这样在R中构建了循环(它不太有效):
for(我在1:16中){nofirst