代码之家  ›  专栏  ›  技术社区  ›  sbac

如何在RMarkdown内联代码中编写正确的表达式

  •  1
  • sbac  · 技术社区  · 5 年前

    我想使用RMarkdown的内联代码使用k-s测试的结果。我可以得到 ks$statistic[[1]] 和 ks$p.value[[1]] 但当我内联使用它们时,我会收到一个错误。

    ---
    title: "ks test2"
    output:
      word_document: default
    ---
    
    ```{r setup, include=FALSE}
    library(knitr)
    knitr::opts_chunk$set(echo = TRUE, results="asis")
    
    ```{r echo=FALSE}
    x <- rnorm(50)
    ks <- ks.test(x, "pnorm", mean=mean(x),
            sd=sd(x))
    df <- length(x)
    ```
    
    Based on K-S test (`r D (df) = ks$statistic[[1]], p = ks$p.value[[1]]`), we can conlude something.
    
    1 回复  |  直到 5 年前
        1
  •  4
  •   the-mad-statter    5 年前

    你内联的不是有效的R代码。试试这样的:

    ```{r, echo=FALSE}
    x <- rnorm(50)
    ks <- ks.test(x, "pnorm", mean=mean(x), sd=sd(x))
    df <- length(x)
    ```
    
    Based on K-S test (D(`r df`) = `r ks$statistic[[1]]`, p = `r ks$p.value[[1]]`), we can conlude something.
    

    但你可能想格式化这些数字以便打印,所以你可以尝试更像这样的方法:

    Based on K-S test (D(`r df`) = `r format(round(ks$statistic[[1]], 2), nsmall = 2)`, p = `r format(round(ks$p.value[[1]], 2), nsmall = 2)`), we can conlude something.