【问题标题】:Writing extended piece of text using paste() in R在 R 中使用 paste() 编写扩展的文本
【发布时间】:2020-05-26 00:11:44
【问题描述】:

我正在尝试将paste 以下所有paste0s 作为一个连接的文本。但我还需要将每个放在单独的行上,一个接一个,例如:

"CI=~Q1+Q2+Q3+Q4+Q5+Q6 ESC=~Q7+Q8+Q9+Q10+Q11+Q12 ICp=~Q13+Q14+Q15+Q16+Q17+Q18 . . . "

我尝试创建对象model 来实现我的目标。一切正常,除了每个paste0 不在单独的行上。

BASE R 中是否有解决此问题的方法?

CI <- paste0("CI=~", paste0("Q", 1:6, collapse = "+"))

ESC <- paste0("ESC=~", paste0("Q", 7:12, collapse = "+"))

ICp <- paste0("ICp=~", paste0("Q", 13:18, collapse = "+"))

 LC <- paste0("LC=~", paste0("Q", 19:24, collapse = "+"))

 CR <- paste0("CR=~", paste0("Q", 25:30, collapse = "+"))

 ASE <- paste0("ASE=~", paste0("Q", 31:36, collapse = "+"))

 SOM <- paste0("SOM=~", paste0("Q", 37:42, collapse = "+"))

 UP <- paste0("UP=~", paste0("Q", 43:48, collapse = "+"))

 VL <- paste0("VL=~", paste0("Q", 49:54, collapse = "+"))

 model <- paste(CI, ESC, ICp, LC, CR, ASE, SOM, UP, VL, sep = "\n")

【问题讨论】:

  • 如果是创建向量,只需要c(CI, ESC, ICp, ..)
  • 你能显示预期的输出吗?这些列是数据集吗?
  • sep="\n"cat 将准确打印您想要的内容。虽然不确定目标

标签: r regex text char paste


【解决方案1】:

如果只是print,我们可以使用cat

cat(paste(CI, ESC, ICp, LC, CR, ASE, SOM, UP, VL, sep = "\n"), '\n')

【讨论】:

    【解决方案2】:

    你太接近了:使用 paste0collapse 参数,但传递一个向量:

    model <- paste0(c(CI, ESC, ICp, LC, CR, ASE, SOM, UP, VL), collapse = "\n")
    
    cat(model)
    
    CI=~Q1+Q2+Q3+Q4+Q5+Q6
    ESC=~Q7+Q8+Q9+Q10+Q11+Q12
    ICp=~Q13+Q14+Q15+Q16+Q17+Q18
    LC=~Q19+Q20+Q21+Q22+Q23+Q24
    CR=~Q25+Q26+Q27+Q28+Q29+Q30
    ASE=~Q31+Q32+Q33+Q34+Q35+Q36
    SOM=~Q37+Q38+Q39+Q40+Q41+Q42
    UP=~Q43+Q44+Q45+Q46+Q47+Q48
    VL=~Q49+Q50+Q51+Q52+Q53+Q54
    

    编辑:

    为了不让你感到困惑,paste 代替 paste0 也可以:

    model <- paste0(c(CI, ESC, ICp, LC, CR, ASE, SOM, UP, VL), collapse = "\n")
    

    也给出了想要的结果

    【讨论】:

      猜你喜欢
      • 2017-03-12
      • 1970-01-01
      • 2018-05-19
      • 2010-10-20
      • 2018-11-06
      • 2013-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多