我将如何在R中尝试此操作:

我将如何在R中尝试此操作:,r,for-loop,R,For Loop,请帮帮我,我是个傻瓜:) 使用for循环,查找以下表达式的值:1+2/3+(2/3×4/5)+(2/3×4/5×6/7)+⋯ + (2/3×4/5…38/39)n 您可以将sapply与sum+prod一起使用,即 这是循环版本的 s,n=10这只适用于20/21学期。您可以将n改为19谢谢。然而,需要使用for循环,但这是一种有趣的方法。或者这被视为for循环?@HerbertPeters查看我的更新sapply是一种循环,非常感谢。其实很简单。正如我所说,我对这一点还不熟悉。 n<

请帮帮我,我是个傻瓜:)

使用for循环,查找以下表达式的值:1+2/3+(2/3×4/5)+(2/3×4/5×6/7)+⋯ + (2/3×4/5…38/39)

n
  • 您可以将
    sapply
    sum
    +
    prod
    一起使用,即
  • 这是循环版本的

s,n=10这只适用于20/21学期。您可以将n改为19谢谢。然而,需要使用for循环,但这是一种有趣的方法。或者这被视为for循环?@HerbertPeters查看我的更新
sapply
是一种循环,非常感谢。其实很简单。正如我所说,我对这一点还不熟悉。
n<-10

x<-0
y<-numeric(n)

for(i in 1:n)
{
y[i]<-((2*i)/((2*i)+1))
x<-x+prod(y)
}
x<-1+x

s <- sum(sapply(0:19, 
                function(k) ifelse(k==0,
                                   1,
                                   prod(2*seq(k)/(2*seq(k)+1)))))
> s
[1] 6.976346
s <- 0
for (k in 0:19) {
  if (k==0) {
    s <- s + 1
  } else {
    s <- s + prod(2*seq(k)/(2*seq(k)+1))
  }
}
> s
[1] 6.976346