Functions
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)
}
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)
}
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)
}
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)
}