【问题标题】:Including space between two variables in a for loop r markdown (pdf output)在 for 循环 r markdown 中包含两个变量之间的空格(pdf 输出)
【发布时间】:2022-01-21 17:36:45
【问题描述】:

我正在尝试使用 R Markdown 创建一些刺激,并且对于每个试验,我打算从数据框 (D1) 中的两列 (L_ProbR_Prob) 中提取两个值并呈现它们并排。我打算将 r markdown 文件输出为 pdf。我还打算在两个值之间包含一些空格;但是,我遇到了困难。 我当前的代码如下所示。

{r, echo = F, comment=NA, results='asis'}
D1= data.frame(L_Prob=c("a+b","b+c","c+d"),R_Prob=c("d+e","e+f","f+g"))

for (i in 1:nrow(D1)){

  a = D1%>% select(L_Prob) %>% slice(i) %>% pull
  b = D1%>% select(R_Prob) %>% slice(i) %>% pull
  cat(a,b)
  cat("  \n") 
  cat("Why do you choose this problem?")
  cat("  \n") 
  cat("It looks to be easier to solve")
  cat("  \n") 
  cat("I prefer problems in this number type")
  cat("  \n") 
  cat("No particular reason")
  cat("  \n") 
  cat("Other______________________________")
  cat("\\newpage  ")
}

输出看起来像 a+b b+c 之间没有空格。 我希望它看起来像

a+b             b+c

我尝试了cat(a," ",b),但它不起作用。 我不确定我该怎么做,任何建议都将不胜感激。 由于我将其输出为pdf,我的理解是我不能左对齐a和右对齐b,但是,如果我错了,请纠正我。 再次感谢您的帮助!

【问题讨论】:

    标签: r loops latex r-markdown pdf-generation


    【解决方案1】:

    使用format():

    s <- format(c("A", "BB", "CCC"), width=10, justify="centre")
    cat(s)
    

    输出:

    A BB CCC

    【讨论】:

      【解决方案2】:

      LaTeX 默认忽略空格。试试\hspace{length}

      cat(a, "\\hspace{10em}", b)
      

      More on length units. 玩它,直到达到所需的结果。或者使用\space:

      cat(a,rep("\\space", 33),b)
      

      【讨论】:

      • 谢谢你,这很完美。
      猜你喜欢
      • 2022-01-21
      • 2021-05-30
      • 2014-11-21
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 2021-11-19
      相关资源
      最近更新 更多