删除使用as.formula添加的空格
我从文本创建了一个公式,但结果公式包含不需要的空格。有没有办法防止这种情况删除使用as.formula添加的空格,r,R,我从文本创建了一个公式,但结果公式包含不需要的空格。有没有办法防止这种情况 # text in which variables for formula are stored mainEffectText ="age sex bmi cohort" interactionText="age*cohort" # get text into R mainEffects <- read.table(textConnection(mainEffectText)) mainEffects <
# text in which variables for formula are stored
mainEffectText ="age sex bmi cohort"
interactionText="age*cohort"
# get text into R
mainEffects <- read.table(textConnection(mainEffectText))
mainEffects <- t(mainEffects)
mainEffects <- as.character(mainEffects[,1])
interactions <- read.table(textConnection(interactionText))
interactions <- t(interactions)
interactions <- as.character(interactions[,1])
# put all terms into one vector
allTerms <- c(mainEffects,interactions)
# create formula
form <- as.formula(paste("Surv(time, event) ~ ",paste(allTerms, collapse=" +")))
空间不是一个真正的问题,但无论如何,请尝试以下方法:
# inputs
mainEffectText <- "age sex bmi cohort"
interactionText <- "age*cohort"
lhs <- "Surv(time, event)"
both <- paste(mainEffectText, interactionText)
paste0(gsub(" ", "", lhs), "~", gsub(" ", "+", both))
如果输入为这种形式(lhs
如上所述),则使用:
# inputs
mainEffects <- c("age", "sex", "bmi", "cohort")
interactions <- "age*cohort"
both <- paste(paste(mainEffects, collapse = " "),
paste(interactions, collapse = " "))
paste0(gsub(" ", "", lhs), "~", gsub(" ", "+", both))
#输入
mainEffects为什么空格是一个问题?它是否过于可读?在运行回归时,空格似乎没有问题。我正在努力提高我对R的这些方面的理解。我尝试了一些不起作用的事情。我已经得到你的建议很多年了。当使用.formula时,空格仍然显示,对吗?是的,如果将其转换为公式并打印公式,则空格将显示。如果s
是上面生成的字符串,则fo
"Surv(time,event)~age+sex+bmi+cohort+age*cohort"
# inputs
mainEffects <- c("age", "sex", "bmi", "cohort")
interactions <- "age*cohort"
both <- paste(paste(mainEffects, collapse = " "),
paste(interactions, collapse = " "))
paste0(gsub(" ", "", lhs), "~", gsub(" ", "+", both))