首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击RUN和SOURCE时R中的不同输出(Rstudio中RUN和SOURCE选项卡之间的区别是什么)

单击RUN和SOURCE时R中的不同输出(Rstudio中RUN和SOURCE选项卡之间的区别是什么)
EN

Stack Overflow用户
提问于 2019-10-12 16:25:18
回答 1查看 274关注 0票数 0

我刚开始学习R,我用条件语句来计算二次方程的根。这是我的代码

代码语言:javascript
复制
a <- readline(prompt= "Enter value of a:")
b <- readline(prompt= "Enter value of b:")
c <- readline(prompt= "Enter value of c:")
a <- as.numeric(a)
b <- as.numeric(b)
c <- as.numeric(c)
D <-(b^2-4*a*c)
if (D>0) {
x_1 <- (-b+sqrt(D))/(2*a)  
x_2 <- (-b-sqrt(D))/(2*a)        
result <- (c(x_1 ,x_2 )) 
result
}else if(D==0){  
x <- rep((-b)/(2*a),2)  
}else if(D<0){
  x_1 <- (-b)/(2*a)+(sqrt(abs(D)))/(2*a)*(1i)  
  x_2 <- (-b)/(2*a)-(sqrt(abs(D)))/(2*a)*(1i)   
  result <- (c(x_1 ,x_2 )) 
  result
}

当我按run(ctrl+A)时,上面写着

4*a中的错误:二进制运算符的非数值参数

当我按下源代码时,它会运行我的代码,并要求我输入a,b,c的值,当我输入值时,按enter键,它会返回给我以下内容

代码语言:javascript
复制
> a <- readline(prompt= "Enter value of a:")
Enter value of a:3

> b <- readline(prompt= "Enter value of b:")
Enter value of b:5

> c <- readline(prompt= "Enter value of c:")
Enter value of c:3

> a <- as.numeric(a)

> b <- as.numeric(b)

> c <- as.numeric(c)

> D <-(b^2-4*a*c)

> if (D>0){                       #why this came ?
+   x_1 <- (-b+sqrt(D))/(2*a)  
+   x_2 <- (-b-sqrt(D))/(2*a)        
+   result <- (c(x_1 ,x_2 )) 
+   result
+ }else if(D==0){  
+   x < .... [TRUNCATED]           #till here
[1] -0.8333333+0.5527708i -0.8333333-0.5527708i
> 

点击“运行”和“源”有什么不同。为什么不同的输出我不明白

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-12 18:32:37

  • run就像将选定的行复制粘贴到控制台,或者在控制台中键入所有选定的文本(包括换行符等)。
  • source将选定的文本保存到文件中,然后在该文件上运行source命令。要确切地了解source所看到的文档(?source)。

运行命令通常更容易,但也有一些缺点:当发生错误或询问输入时,它不会停止。在这种情况下,第一个readline请求输入。它接收该输入,即文件中的下一行。

小例子:

代码语言:javascript
复制
a <- readline(prompt = "a: ")
print(a)
print(a)

当运行这个(CRTL-一个CRTL-ENTER)时,我在控制台中看到以下内容:

代码语言:javascript
复制
> a <- readline(prompt = "a: ")
a: print(a)
> print(a)
[1] "print(a)"

如您所见,第二行print(a)用作输入。因此,a具有print(a)值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58356132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档