创建函数以对多个连续变量执行ttest时出错

安德鲁·泰勒(Andrew Taylor)

因此,我正在尝试创建一个函数,该函数将接收一串连续变量,一个分类变量和一个数据框,并为每个连续变量输出一个包含以下表格的表格:均值第1组,均值第2组,teststat,置信区间,p-值。

当前在这里给我的错误是:model.frame.default中的错误(公式= var〜类,数据=数据):可变长度不同(为“类”找到)

我希望获得有关如何解决此错误并使此功能执行我喜欢的操作的任何反馈。我想使此函数的方式更加实质和灵活,但是我什至无法使基本版本(处理多个变量)正常工作。

谢谢!

#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)
耶洛华德

这是您想要的吗?

two.group.comp <- function(continvars,class,data){
  get.stats <- function(x,cat){
    f  <- unique(cat)
    x1 <- x[cat==f[1]]
    x2 <- x[cat==f[2]]
    tt <- t.test(x1,x2)
    smry        <- c(tt$estimate,tt$statistic,p=tt$p.value)
    names(smry) <- c("mean.1","mean.2","t","p")
    return(smry)
  }
  result <- do.call(rbind,lapply(data[,continvars],get.stats,cat=class))
  return(result)
}
# create sample dataset
set.seed(1)
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)
continvars<-c("cont1", "cont2", "cont3")
# call the function...
two.group.comp(continvars,cat1,one)
#           mean.1      mean.2          t          p
# cont1 24.4223859 25.33275704 -0.6024497 0.54827955
# cont2  0.0330148  0.01168979  0.1013519 0.91947827
# cont3 10.5784201  4.00651493  2.4183031 0.01747468

由内而外的工作:

  1. get.stats(...)取的单个列data,将其拆分x1x2根据进行catt检验,然后将摘要统计信息作为命名向量返回。
  2. lapply(...)continvars的列dataget.stats(...)一次一个。
  3. do.call(rbind,...)将按lapply(...)返回的向量集绑定在一起,以生成最终结果表。

如果您传递列号而不是列名,这也将起作用。

一条建议:设置方式是传递连续变量列名,而分组因子是向量。如果您通过分组因子的列名,它将更加干净。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为连续变量创建区间

来自分类Dev

从因子变量和连续变量创建一组连续变量

来自分类Dev

从连续变量创建虚拟分位数变量

来自分类Dev

创建MYSQL函数以计算时间差时出错

来自分类Dev

从多个连续变量制作回归估计的曲面图

来自分类Dev

R:从基于连续变量的分类变量创建新的分类变量

来自分类Dev

创建Azure函数以执行ETL

来自分类Dev

创建函数以查找列表中的最大元素时出错

来自分类Dev

根据另一列中的值创建一个计数连续变量

来自分类Dev

创建一个计数连续变量,将其重置为1

来自分类Dev

在data.table中对连续变量进行分组的函数

来自分类Dev

离散化连续变量的对数

来自分类Dev

创建单个对象时如何执行多个构造函数

来自分类Dev

如何绘制两个固定类别值的比较以对另一个连续变量进行线性回归

来自分类Dev

如何:在R中为3个类别变量和一个连续变量创建图?

来自分类Dev

熊猫groupby将非连续变量视为不同变量?

来自分类Dev

如何使用ggplot表示分类变量与连续变量?

来自分类Dev

如何将连续变量转换为分类变量?

来自分类Dev

在gtsummary包中为R中的tbl_summary函数设置类别和连续变量的主题

来自分类Dev

在R中,运行关联测试时是否必须手动选择每个连续变量?

来自分类Dev

使用变量执行查找命令时出错

来自分类Dev

将参数传递给函数以创建变量名

来自分类Dev

创建函数以返回多个数据帧

来自分类Dev

在多列上应用函数以创建多个新列

来自分类Dev

执行动态创建的查询时出错

来自分类Dev

sklearn集合和树中连续变量的分箱

来自分类Dev

获得R中连续变量的随机森林预测精度

来自分类Dev

如何对DOCPLEX(Python)上的IF-THEN约束使用连续变量?

来自分类Dev

处理sklearn.tree.DecisionTreeClassifier中的连续变量

Related 相关文章

  1. 1

    为连续变量创建区间

  2. 2

    从因子变量和连续变量创建一组连续变量

  3. 3

    从连续变量创建虚拟分位数变量

  4. 4

    创建MYSQL函数以计算时间差时出错

  5. 5

    从多个连续变量制作回归估计的曲面图

  6. 6

    R:从基于连续变量的分类变量创建新的分类变量

  7. 7

    创建Azure函数以执行ETL

  8. 8

    创建函数以查找列表中的最大元素时出错

  9. 9

    根据另一列中的值创建一个计数连续变量

  10. 10

    创建一个计数连续变量,将其重置为1

  11. 11

    在data.table中对连续变量进行分组的函数

  12. 12

    离散化连续变量的对数

  13. 13

    创建单个对象时如何执行多个构造函数

  14. 14

    如何绘制两个固定类别值的比较以对另一个连续变量进行线性回归

  15. 15

    如何:在R中为3个类别变量和一个连续变量创建图?

  16. 16

    熊猫groupby将非连续变量视为不同变量?

  17. 17

    如何使用ggplot表示分类变量与连续变量?

  18. 18

    如何将连续变量转换为分类变量?

  19. 19

    在gtsummary包中为R中的tbl_summary函数设置类别和连续变量的主题

  20. 20

    在R中,运行关联测试时是否必须手动选择每个连续变量?

  21. 21

    使用变量执行查找命令时出错

  22. 22

    将参数传递给函数以创建变量名

  23. 23

    创建函数以返回多个数据帧

  24. 24

    在多列上应用函数以创建多个新列

  25. 25

    执行动态创建的查询时出错

  26. 26

    sklearn集合和树中连续变量的分箱

  27. 27

    获得R中连续变量的随机森林预测精度

  28. 28

    如何对DOCPLEX(Python)上的IF-THEN约束使用连续变量?

  29. 29

    处理sklearn.tree.DecisionTreeClassifier中的连续变量

热门标签

归档