我正在寻找格式良好的测试结果的降价输出,该输出在for循环内生成并由标题构成。例如
df <- data.frame(x = rnorm(1000),
y = rnorm(1000),
z = rnorm(1000))
for (v in c("y","z")) {
cat("##", v, " (model 0)\n")
summary(lm(x~1, df))
cat("##", v, " (model 1)\n")
summary(lm(as.formula(paste0("x~1+",v)), df))
}
Run Code Online (Sandbox Code Playgroud)
而输出应该是
Call:
lm(formula = x ~ 1, data = df)
Residuals:
Min 1Q Median 3Q Max
-3.8663 -0.6969 -0.0465 0.6998 3.1648
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.05267 0.03293 -1.6 0.11
Residual standard error: 1.041 on 999 degrees of freedom
Run Code Online (Sandbox Code Playgroud)
Call:
lm(formula = as.formula(paste0("x~1+", …
Run Code Online (Sandbox Code Playgroud) 我对正则表达式比较陌生,所以如果问题很微不足道,请耐心等待。我想使用正则表达式在字符串的每个字母之间放置一个逗号,例如:
x <- "ABCD"
Run Code Online (Sandbox Code Playgroud)
我想要得到
"A,B,C,D"
Run Code Online (Sandbox Code Playgroud)
gsub
如果我可以使用,sub
或关联任意数量字符的字符串向量来做到这一点,那就太好了。
我试过
> sub("(\\w)", "\\1,", x)
[1] "A,BCD"
> gsub("(\\w)", "\\1,", x)
[1] "A,B,C,D,"
> gsub("(\\w)(\\w{1})$", "\\1,\\2", x)
[1] "ABC,D"
Run Code Online (Sandbox Code Playgroud)