1 Functions

2 Univariate t tests

diff.df = function(df,t,opt){
  df = df[c(sapply(df,is.numeric))]
  df = win.df(df,t,opt)
  datalist = list()
  for(i in seq_along(names(df))){
    ttest = tidy(t.test(df[[i]]))
    wilcox=  tidy(wilcox.test(df[[i]]))
    out = data.frame(var.name = names(df)[i], ttest, wilcox)
    datalist[[i]] = out
    rm(ttest, wilcox, out)
  }
  big_data = do.call(rbind, datalist)
  df = data.frame(summ.df(df), big_data)
  return(df)
}

3 Univariate t tests by groups

grp.diff.df = function(df,grp,t,opt){
  # df = x; grp="group"; t=0.01
  df[["grp"]] = df[[grp]]
  grp = names(table(df[[grp]]))
  # i=1
  datalist = list()
  for(i in seq_along(grp)){
    out = subset(df, grp == grp[i])
    out = out[c(sapply(out,is.numeric))]
    out = diff.df(out,t,opt)
    out = data.frame(grp.name = rep(grp[i], each=dim(out)[1]), out)
    datalist[[i]] = out
    rm(out)
  }
  big_data = do.call(rbind, datalist)
  return(big_data)
}

4 Bivariate t tests

diff.dfs = function(df1,df2,t,opt){
df1 = df1[c(sapply(df1,is.numeric))]
df2 = df2[c(sapply(df2,is.numeric))]
common.vars = base::intersect(names(df1), names(df2))
df1 = df1[common.vars]
df2 = df2[common.vars]
df1 = win.df(df1,t,opt)
df2 = win.df(df2,t,opt)
datalist = list()
  for(i in seq_along(common.vars)){
    ttest = tidy(t.test(df1[[i]], df2[[i]], paired =FALSE))
    wilcox=  tidy(wilcox.test(df1[[i]],df2[[i]], paired=FALSE))
    out = data.frame(var.name = common.vars[i], ttest, wilcox)
    datalist[[i]] = out 
    rm(ttest, wilcox, out)
  }
 big_data = do.call(rbind, datalist)
 df = data.frame(summ.df(df1), summ.df(df2), big_data)
 return(df)
}

5 Bivariate t tests by groups

grp.diff.dfs = function(df1,df2,grp,t,opt){
  df1[["grp"]] = df1[[grp]]
  df2[["grp"]] = df2[[grp]]
  grp1 = names(table(df1[[grp]]))
  grp2 = names(table(df2[[grp]]))
  common.grp = base::intersect(grp1, grp2)
  rm(grp1,grp2)
  datalist = list()
  for(i in seq_along(common.grp)){
    x = subset(df1, grp == common.grp[i])
    x = x[c(sapply(x,is.numeric))]
    y = subset(df2, grp == common.grp[i])
    y = y[c(sapply(y,is.numeric))]
    out = diff.dfs(x,y,t,opt)
    out = data.frame(grp.name = rep(common.grp[i], each=dim(out)[1]), out)
    datalist[[i]] = out
    rm(x,y,out)
  }
  big_data = do.call(rbind, datalist)
  return(big_data)
}