gpt4 book ai didi

R语言: If and else statement (loop)

转载 作者:行者123 更新时间:2023-12-05 01:10:34 27 4
gpt4 key购买 nike

这个问题不太可能帮助任何 future 的访客;它只与一个小地理区域、一个特定时刻或一个非常狭窄的情况相关,而这些情况通常不适用于互联网的全局受众。如需帮助使这个问题更广泛地适用,visit the help center .




9年前关闭。




我正在对 R 语言进行循环编码,该代码涉及两个函数。如果值为半径,则应运行周期函数而不是半径函数,依此类推。

我使用类里面的笔记进行编码,但我认为这是错误的。我没有收到任何警告,但如果我在控制台上这样做:

R<-98
orbit(R)

我会收到这条消息:
Error in orbit(R) : attempt to apply non-function

这是我的功能代码:
# 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)

}

}

我不认为我完全理解 if 和 else 语句。有人为我解释一下吗?另外for语句和if语句有什么区别?

谢谢大家的帮助。

最佳答案

这一行的问题

Radi <- (G*M/omega^3)*(1/3)

你错过的地方 *手术
if/else statement允许您的程序根据某些条件决定执行哪些代码。就像在您的代码中一样,您有两个代码块,第一个是:
omega <- 2*pi/R # pr is period for one rotation
Radi <- (G*M/omega^3)(1/3)
print(Radi)

仅当某些条件为真时才想执行,即 R == 98 , 否则你执行另一个代码块。
for statement当您想多次重复执行一段代码时使用。假设您要打印 1-100 中的数字,写 print(1)是不可行的 print(2) ... 100 次!

你可以用一个简单的 for循环,例如
for(i in 1:100){
print(i)
}

关于R语言: If and else statement (loop),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14823136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com