R中的公式:如何以通用方式使用它们?
在R中有没有办法以通用方式使用公式(无需解析)?我想将一些使用公式的包中的函数调用到自制函数中,可能嵌套在其他自制函数中 下面是一个我尝试使用R中的公式:如何以通用方式使用它们?,r,formula,R,Formula,在R中有没有办法以通用方式使用公式(无需解析)?我想将一些使用公式的包中的函数调用到自制函数中,可能嵌套在其他自制函数中 下面是一个我尝试使用调查软件包(取自文档)执行的示例: 与 func2您可以尝试as.formula(paste0(“~”,var))在svymean函数或as.formula(sprintf(“~%s,var))中创建公式,这对于更复杂的公式来说更为方便。它成功了,谢谢。而且它比野生的eval更整洁!您可以尝试as.formula(paste0(“~”,var))在svym
调查
软件包(取自文档)执行的示例:
与
func2您可以尝试as.formula(paste0(“~”,var))
在svymean
函数或as.formula(sprintf(“~%s,var))
中创建公式,这对于更复杂的公式来说更为方便。它成功了,谢谢。而且它比野生的eval
更整洁!您可以尝试as.formula(paste0(“~”,var))
在svymean
函数或as.formula(sprintf(“~%s”,var))
中创建公式,这对于更复杂的公式来说更为方便。它成功了,谢谢。而且它比野生的eval
更整洁!
library('survey')
data(api)
dclus1 <- svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
svymean(~api00, dclus1, deff=TRUE)
func1 <- function(myvar, dclus) {
return(func2(myvar, dclus))
}
func2 <- function(var, dclus) {
return(svymean(~var, dclus))
}
func2 <- function(var, dclus) {
return(eval(parse(text=paste("svymean(~", var, ", ",
deparse(substitute(dclus), ")", sep=""))
}