Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的公式:如何以通用方式使用它们?_R_Formula - Fatal编程技术网

R中的公式:如何以通用方式使用它们?

R中的公式:如何以通用方式使用它们?,r,formula,R,Formula,在R中有没有办法以通用方式使用公式(无需解析)?我想将一些使用公式的包中的函数调用到自制函数中,可能嵌套在其他自制函数中 下面是一个我尝试使用调查软件包(取自文档)执行的示例: 与 func2您可以尝试as.formula(paste0(“~”,var))在svymean函数或as.formula(sprintf(“~%s,var))中创建公式,这对于更复杂的公式来说更为方便。它成功了,谢谢。而且它比野生的eval更整洁!您可以尝试as.formula(paste0(“~”,var))在svym

在R中有没有办法以通用方式使用公式(无需解析)?我想将一些使用公式的包中的函数调用到自制函数中,可能嵌套在其他自制函数中

下面是一个我尝试使用
调查
软件包(取自文档)执行的示例:


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=""))
}