【问题标题】:R snippet to PythonR 片段到 Python
【发布时间】:2020-10-11 23:43:33
【问题描述】:

如果有人能提供支持,将这个用 R 编写的 for 循环翻译成 Python,我将不胜感激:

iGs<-c()
for (B in 602:6000)
{
  iG3=(2*iG2)-iG1
  iGs[B-602+1]<-c(iG3)
  iG1=iG2
  iG2=iG3
}

假设iG1=45iG2=46(即单个值)。据我了解(这里是 Python 新手),应该是这样的:

B = range(602,6001,1)
iG3 = (2*iG2)-iG1
iGs = [???]

其中iGs 是从 602 迭代到 6000 之后的最终值列表 (?),以及在连接之前计算的对应于 600 和 601 的值之后(即iG1iG2)。

非常感谢任何帮助。

【问题讨论】:

  • 对,忘了说了,它们是单一值
  • 什么是ciGs是如何初始化的?
  • 你可以做iGs = [];for b in range(602,6001,1): iG3 = (2*iG2)-iG1; iGs.append(iG3); iG1=iG2; iG2=iG3

标签: python r python-2.7


【解决方案1】:

我们可以在Python 中初始化一个list

iGs = []

append

for b in range(602,6001,1):
    iG3 = (2*iG2)-iG1
    iGs.append(iG3)
    iG1=iG2
    iG2=iG3

-检查输出

len(iGs)
#5399

iGs[-5:len(iGs)]
#[5441, 5442, 5443, 5444, 5445]
iGs[0:5]
#[47, 48, 49, 50, 51]

R比较

length(iGs)
#[1] 5399

head(iGs)
#[1] 47 48 49 50 51 52

tail(iGs)
#[1] 5440 5441 5442 5443 5444 5445  

【讨论】:

    猜你喜欢
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 2017-03-25
    • 2012-11-18
    • 1970-01-01
    相关资源
    最近更新 更多