在R中创建标准差函数

时间:2018-08-19 19:24:35

标签: r function

我正在尝试创建一个标准差函数,以按治疗组在我的数据集中的多个变量上运行。

代码如下:

 balance<-function(var=var){
 if (data1$`treatment group`==1){
 m_var_t<-mean(var);sd_var_t<-sd(var)
 } 
 else if (data1$`treatment group`==0) {
 m_var_c<-mean(var); sd_var_c<-sd(var)
 }
 d_var<-(100*abs(m_var_t - m_var_c)) / sqrt(sd_var_t^2 )
 list ("Mean of var for treated"=m_var_t, "Standard deviation for 
 treated"=sd_var_t,"Mean of var for control"=m_var_c, "Standard deviation 
 for control"=sd_var_c,"Standardize difference"=d_var)
 }

运行函数后,我得到以下结果:

$ Mean of var for treated [1] 25.37079

$ Standard deviation for treated [1] 7.100282

$ Mean of var for control [1] 25.37079

$ Standard deviation for control [1] 7.100282

$ Standardize difference [1] 0

警告消息: 1:如果if(data1 $ {treatment group == 1){:   条件的长度> 1,并且仅使用第一个元素 2:在if(data1 $ {treatment group == 0){   条件的长度> 1,并且只会使用第一个元素

当处理= 0时,我的第二条语句有问题,但我无法弄清楚。任何帮助,将不胜感激!

0 个答案:

没有答案