【发布时间】:2014-03-09 17:27:11
【问题描述】:
所以我正在尝试创建一个函数,该函数将接收一串连续变量、一个分类变量和一个数据框,并输出一个表格,其中包含每个连续变量的表格:mean group1、mean group2、teststat、置信区间, p 值。
目前这里给了我错误:model.frame.default(formula = var ~ class, data = data) 中的错误:可变长度不同(为“类”找到)
我希望得到任何有关如何修复此错误并使此功能执行我喜欢的功能的反馈。我想让这个函数更加充实和灵活,但我什至无法让基本版本(处理多个变量)工作。
谢谢!
#Continuous must be an object of the form:
#vars<-c("cont1", "cont2", "cont3", etc)
#CREATE DATA
cat1<-sample(c(1,2), 100, replace=T)
cont1<-rnorm(100, 25, 8)
cont2<-rnorm(100, 0, 1)
cont3<-rnorm(100, 6, 14.23)
cont4<-rnorm(100, 25, 8)*runif(5, 0.1, 1)
one<-data.frame(cat1, cont1, cont2, cont3, cont4)
#FUNCTION
two.group.comp<-function(continvars,class,data){
attach(data)
descriptives<-function(var){
test<-t.test(var~class, data)
means<-data.frame(test[5])
mean1<-means[1,1]
mean2<-means[2,1]
teststatbig<-data.frame(test[1])
teststat<-teststatbig[1,1]
conf<-data.frame(test[4])
lconf<-conf[1,1]
uconf<-conf[2,1]
pvalues<-data.frame(test[3])
pvalue<-pvalues[1,1]
variablename<-deparse(substitute(var))
entry<-data.frame(variablename,mean1,mean2,lconf,uconf,teststat,pvalue)
}
var<-data.frame(continvars)
table<<-sapply(var,descriptives)
detach(data)
}
#VARIABLES
continvars<-c("cont1", "cont2", "cont3")
#CALL TO FUNCTION
two.group.comp(continvars=continvars, class=cat1, data=one)
【问题讨论】:
标签: r