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

粘贴后断线或软断线

  •  2
  • TarJae  · 技术社区  · 4 年前

    我有这个数据帧:

    df <- structure(list(letters = c("A", "B", "C", "D"), Number = 1:4, 
        Info = c("additionalinfo", "additionalinfo", "additionalinfo", 
        "additionalinfo")), class = "data.frame", row.names = c("1", 
    "2", "3", "4"))
    
    
      letters Number           Info
    1       A      1 additionalinfo
    2       B      2 additionalinfo
    3       C      3 additionalinfo
    4       D      4 additionalinfo
    

    我试着 添加一个新列,将两列与换行符或换行符组合:

    df %>% 
      mutate(answer = paste(Number, Info, sep = " \n" ))
    

    所需输出:

    enter image description here

    背景: 本项目范围内 Randomly take wrong answers of a quiz question from dataframe column, instead of doing by hand 我想添加一个 软断裂 断线

    它应该像第一个问题中的这里一样打印。哪个数字有E?: enter image description here

    0 回复  |  直到 4 年前
        1
  •  2
  •   Donald Seinen    4 年前

    对于闪亮的呈现文档,使用换行符内联HTML <br> 可以使用。

    ---
    title: "Tutorial"
    output: learnr::tutorial
    runtime: shiny_prerendered
    ---
    
    #```{r setup, include=FALSE}
    library(learnr); library(dplyr); library(glue)
    knitr::opts_chunk$set(echo = FALSE)
    df <- structure(list(letters = c("A", "B", "C", "D"), Number = 1:4, 
        Info = c("additionalinfo", "additionalinfo", "additionalinfo", 
        "additionalinfo")), class = "data.frame", row.names = c("1", 
    "2", "3", "4"))
    df <- df %>% mutate(answer = glue("{Number}<br>{Info}"))
    #```
    
    ```{r quiz}
    # This works not
    quiz(
     question("Which number has E?",
           answer(df[[4]][1]),
           answer(df[[4]][2]),
           answer(df[[4]][3], correct = TRUE),
           answer(df[[4]][4])         
      ),
      # This one works
      question("Which number has E?",
           answer("1"),
           answer("4"),
           answer("5", correct = TRUE),
           answer("8")
      )
     )
    
        2
  •  2
  •   Leonardo    4 年前

    如果您需要 answer 列,而不显示您可以尝试的整个数据帧

    df %>% 
      mutate(answer = paste(Number, Info, sep = "\n" )) %>% 
      pull(answer) %>% 
      cat(sep = "\n")
    
    1
    additionalinfo
    2
    additionalinfo
    3
    additionalinfo
    4
    additionalinfo
    

    或者,逐项

    df2 <- df %>% 
      mutate(answer = paste(Number, Info, sep = "\n" ))
    
    cat(df2$answer[1])
    cat(df2$answer[2])
    ...
    cat(df2$answer[n])
    
    推荐文章