全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3120 22
2013-04-12
悬赏 50 个论坛币 已解决
function (yvars=case, xvars=age sex x1 x2) {

}
能否这样实现?或有没更好的办法,谢谢!

最佳答案

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-4-12 13:02:46
dxystata 发表于 2013-4-15 10:08
谢谢!
如何将yvars xvars 传递到 glm(case~ age + sex + x1+x2, 呢, family = "binomial") 函数呢?
谢 ...
试试
yvar <- "case"
xvars <- "age sex x1 x2"

formula <- as.formula(paste(yvar, "~", paste(strsplit(xvars, " ")[[1]], collapse="+")))

glm(formula, family="binomial)

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-12 16:03:05
不是很明白楼主遇到具体问题何在
(如果是针对"xvars=age sex x1 x2",好像没见过如此定义,为了统一定义xvars,为什么不采用
复制代码
)当然这是个人想法,望有助楼主
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-13 13:48:31
这样定义会报错的,lz不要受stata影响太深,,,针对lz这个函数,R中函数定义一般是这样的
fun<-function(yvars=缺省值,xvars=c("age的缺省值","sex的缺省值","以此类推")){
"函数主体"
}
或者也可以这样
fun<-function(yvars=缺省值,age="缺省值",sex="缺省值","以此类推")){
"函数主体"
}
最后ym一下stata版主,求多多指教
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-13 22:19:06
可以用formula object 比如

y <- rnorm(10)
x1 <- rnorm(10)
age <- 1:10
sex <- rep(0:1, each=5)

test <- function(formula) {
        model.frame(formula)
}

test(y~age)
test(y~age+sex)
test(y~x1+age+sex)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-4-15 10:08:47
水天一色DIY 发表于 2013-4-12 16:03
不是很明白楼主遇到具体问题何在
(如果是针对"xvars=age sex x1 x2",好像没见过如此定义,为了统一定义xv ...
谢谢!
如何将yvars xvars 传递到 glm(case~ age + sex + x1+x2, 呢, family = "binomial") 函数呢?
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群