【问题标题】:Combine two outputs in a single box in RStudio在 RStudio 中将两个输出合并到一个框中
【发布时间】:2020-08-08 11:09:28
【问题描述】:

我对 R 非常陌生。 这个简单的代码打印两个输出:

ec_lineal = function(a,b){
  print(sprintf('%i x + %i = 0',a,b))
  paste(sprintf('x ='), -b / a)
}

ec_lineal(5,3)
[1] "5 x + 3 = 0"
[1] "x = -0.6"

当我将代码编织成 HTML 时,我会为每个输出获得单独的框:

有没有办法将两个输出组合在一个白框中? 也许编辑代码块头```{r}

我在 Windows 10 中使用 R 3.6.3 和最新版本的 RStudio。

谢谢。

【问题讨论】:

    标签: r


    【解决方案1】:

    您可以使用cat

    ec_lineal = function(a,b) {
      cat(sprintf('%i x + %i = 0',a,b), 
          paste(sprintf('x ='), -b / a),
          sep="\n")
    }
    
    ec_lineal(5,3)
    # 5 x + 3 = 0
    # x = -0.6
    

    【讨论】:

    • 谢谢,这样就可以了!只是为了确保 cat() 允许我做的是在一个 print() 中打印东西,但在不同的行上,对吧?
    • @pypau 是的,实际上是sep= 参数;当您定义"\n"(即新行)时,它会将cat 中定义的每个字符串与它分开。 catprint 之间的区别另见:stackoverflow.com/a/31843744/6574038
    • 不客气,考虑accept answer
    猜你喜欢
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 2010-11-16
    • 2018-05-13
    • 1970-01-01
    • 2022-11-02
    • 2012-10-17
    • 2011-06-13
    相关资源
    最近更新 更多