Chr*_*s L 1 r global-variables
我想在R中定义一个可以在函数和sqldf语句中使用的全局变量.我的目标是在我的代码顶部更改我想要包含的变量 - 并在整个过程中使用它.这真的可以节省我的时间,而且我一直无法通过搜索论坛找到解决方案.
# define variable
myvar <<- as.name('cyl')
# use within a sql statement
library("sqldf")
sqldf('
select
avg(myvar)
from
mtcars
')
# use within a regression
reg<-lm(mpg ~ myvar, data=mtcars)
summary(reg)
Run Code Online (Sandbox Code Playgroud)
您可以使用sprintf从变量创建查询字符串
myvar <- 'cyl'
query <- sprintf('select avg(%s) from mtcars', myvar)
library("sqldf")
sqldf(query)
Run Code Online (Sandbox Code Playgroud)
并get检索模型设计中的值:
reg <- lm(mpg ~ get(myvar), data=mtcars)
summary(reg)
Run Code Online (Sandbox Code Playgroud)
正如詹姆斯在评论中提到的那样,这可能比以下情况更可取get:
reg <- lm(formula(paste('mpg~', myvar)), data=mtcars)
Run Code Online (Sandbox Code Playgroud)