R编程中的循环

R编程中的循环,r,loops,R,Loops,我是R编程的新手。我想用R解决一个问题,但我有错误。我希望善良的人们能帮助我学习一些东西,这样我也能帮助别人 g = 9.8 tt = c(10,15,16) n = length(tt) emp =NULL for(i in n){ emp[i] = tt[i]*4 print(emp) } 在R中运行此代码后,我得到如下回复: > for(i in n){ + emp[i] = tt[i]*4 + print(emp) + } [1] NA NA 64 关于如何删除NA值

我是R编程的新手。我想用R解决一个问题,但我有错误。我希望善良的人们能帮助我学习一些东西,这样我也能帮助别人

g = 9.8
tt = c(10,15,16)
n = length(tt)
emp =NULL

for(i in n){
emp[i] = tt[i]*4
print(emp)
}
在R中运行此代码后,我得到如下回复:

 > for(i in n){
 + emp[i] = tt[i]*4
 + print(emp)
 + }
[1] NA NA 64

关于如何删除NA值或解决此问题,有何想法?任何帮助都将不胜感激。

您需要一个序列来迭代,以使循环正常工作。只需将
n
更改为
1:n
即可

g = 9.8
tt = c(10,15,16)
n = length(tt)
emp =NULL

for(i in 1:n){
  emp[i] = tt[i]*4
  print(emp)
}

[1] 40
[1] 40 60
[1] 40 60 64

非常感谢。但我需要更多的帮助。我希望在一行中查看所有结果,如[1]40 60 64。我该怎么做?@AliYousuf,现在这些值都在一个向量中。您只需单独查看每个元素,因为每次添加新元素时它都会打印。如果你只是
print(emp)
你会得到你想要的。要得到像406064这样的输出(即向量tt乘以4),你不需要for循环。简单分配:emp