如何删除 as.formula 引入的空格?

How to remove spaces introduced by as.formula?

as.formula()被循环使用如下:

survFormula <- as.formula(paste0("surv",sep="~",names(sel.col.list[[i]][j])))
survFormula[[998]]

里面引入了e - 5之间的space如下图:

surv ~ X8ALL.Cytotoxic.T.cell3.10501148854251e - 5

我成功地使用 gsub() 删除了 space,但这将 class 更改为字符。我使用 as.formula()gsub() 再次从 class: character 更改为 class: formula

as.formula(gsub(" - ", "-0", format(survFormula[[998]])))

但这忽略了 gsub() 和 spaces 被引入回来!

surv ~ X8ALL.Cytotoxic.T.cell3.10501148854251e - 5

删除 space 非常重要,因为我的公式输出必须与我的列名匹配。我的专栏名称是这样的:

X8ALL.Cytotoxic.T.cell3.10501148854251e-05

请帮忙:/

如果您只是让您的列名在语法上有效,那就更容易了。您可以使用 make.names.

names(df) <- make.names(names(df))

完成此操作后,您的其余代码应该可以正常工作。