r - 在 R 中使用 paste() 编写扩展的文本
问题描述
我正在尝试将paste
以下所有paste0
s 作为一个连接的文本。但我还需要将每个放在单独的行上,一个接一个,例如:
"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")
解决方案
你太接近了:使用collapse
参数paste0
但传递一个向量:
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")
也给出了想要的结果
推荐阅读
- java - 使用 maven exec-maven-plugin “target”文件夹生成的 Java 类未编译
- angular - 找不到用于 angularx-social-login 的模块
- linux - 在 VM 中使用 Invoke-AzVMRunCommand 运行脚本?传参问题
- android - 当我的应用重新聚焦时,如何更改导航栏图标颜色?
- r - 当列包含字母和数字字符时,R 中的顺序函数不能用 - 或 rev() 反转
- c# - C# 从 .txt 读取并拆分为结构数组
- typescript - 打字稿区分联合与通用的,不健全的类型缩小
- javascript - Firebase 和 stack nav 都不能同时在 app.js 中导出
- node.js - 如何将我的 mongodb 中的特定数据呈现到我的 html 中?
- c++ - c++ 使用动态分配运算符反转数组元素