我经常需要将大量变量从数据框转换为公式表达式。这些变量有时会有破折号/连字符,这会给as.formula
带来麻烦。
我知道我可以从数据框名称中gsub
这些,但这是不合需要的,因为我需要映射回使用连字符的其他注释文件。
我有一个解决方法可以利用下面的反引号(`
)和paste0
,但它感觉很笨(即难以阅读,可能效率低于基础上的东西未接电话)。
是否有更简单的表达式可以完成这项工作?
dat <- data.frame(rnorm(100), rnorm(100))
names(dat) <- c("y", "x-1")
form <- as.formula(paste("y~", names(dat)[2]))
form #treats hyphen as minus
lm(form, data = dat) #error
# is this the only workaround?
form <- as.formula(paste("y~", paste0("`", names(dat)[2], "`")))
form
lm(form, data = dat)
答案 0 :(得分:2)
我使用f <- y ~ .
lm(f, dat)
:
database/__init__.py
将data.frame子集设置为仅包含感兴趣的变量。