R语言中分割公式字符串时如何去除多余空格?
解决方法
方法1:拆分后去除首尾空格
直接对拆分结果使用trimws()函数,它会自动清除字符串首尾的空格:
a <- list(~X1+X2, ~X2+X3) trimws(strsplit(gsub("~", "", a[[2]])[2], "+", fixed = TRUE)[[1]])
输出结果:
[1] "X2" "X3"
方法2:预处理时移除所有空格
在替换~的同时,用正则表达式一次性去掉所有空格,这样拆分后的元素本身就不含空格:
a <- list(~X1+X2, ~X2+X3) strsplit(gsub("[~ ]", "", a[[2]])[2], "+", fixed = TRUE)[[1]]
这里[~ ]表示匹配~或空格,将它们全部替换为空字符串。
方法3:利用公式对象的专用函数(推荐)
因为你的列表元素是公式对象,R提供了all.vars()函数可以直接提取公式中的变量,无需手动处理字符串,更简洁且不易出错:
a <- list(~X1+X2, ~X2+X3) all.vars(a[[2]])
输出结果:
[1] "X2" "X3"
内容的提问来源于stack exchange,提问作者Phoebe
相关产品推荐
相关产品推荐

