R语言:If和else语句(循环)

R语言:If和else语句(循环),r,function,loops,if-statement,R,Function,Loops,If Statement,我正在R语言上进行循环编码,这段代码包含两个函数。若值为半径,则应运行周期函数而不是半径函数,依此类推 我用课堂笔记编码,但我认为这是错误的。我没有收到任何警告,但如果我在控制台上收到警告: R<-98 orbit(R) 这是我的功能代码: # Two functions: period and radius # If a value you input is a period (in minutes), radius function should be used (radius(R)

我正在R语言上进行循环编码,这段代码包含两个函数。若值为半径,则应运行周期函数而不是半径函数,依此类推

我用课堂笔记编码,但我认为这是错误的。我没有收到任何警告,但如果我在控制台上收到警告:

R<-98
orbit(R)
这是我的功能代码:

# Two functions: period and radius
# If a value you input is a period (in minutes), radius function should be used (radius(R))
# If a value you input is a radius (in km), period function should be used (period(R))
#   R is radius in km or period in minutes


orbit <- function(R){
    G <-6.673*10^-11
    M <- 5.972*10^24 # in kg

    if(R == 98){
            omega <- 2*pi/R # pr is period for one rotation

            Radi <- (G*M/omega^3)(1/3)
            print(Radi)
        }
    else {

        Peri <- 2*pi*sqrt(R^3/G*M)
        print(Peri)

    }

}
#两个函数:周期和半径
#如果输入的值是一个周期(以分钟为单位),则应使用半径函数(半径(R))
#如果输入的值是半径(单位为km),则应使用周期函数(周期(R))
#R是以公里为单位的半径或以分钟为单位的周期

轨道这条线路上的问题

Radi <- (G*M/omega^3)*(1/3)
仅当某个条件为真时才执行,即
R==98
,否则执行另一个代码块

当您想多次重复执行一个代码块时,使用语句
for。假设您想打印
1-100
中的数字,那么写
print(1)
print(2)
是不可行的。。。100次

您可以通过一个简单的
for
循环来实现这一点,例如

for(i in 1:100){
   print(i)
}

Radi非常感谢您的帮助。这很有道理!
omega <- 2*pi/R # pr is period for one rotation
Radi <- (G*M/omega^3)(1/3)
print(Radi)
for(i in 1:100){
   print(i)
}