如何解决使用 mapply 对多对进行 cor.test
之前对 similar question 的回答存在 cor.test 输出不正确的问题,必须修复相同的问题(下面的代码)。但是,我使用 while 循环来提取所有 cor.test 结果而不是 mapply。有人可以帮忙解决映射错误。
correl.func <- function(var1,var2,x,data) {
#need to introduce X for proper subseting of the df(data param in function)
x1=as.character(var2[x])
y1=as.character(var1[x])
result = cor.test(data[,x1],data[,y1])
data.frame(dependent=c(y1),independent=c(x1),result[c("estimate","p.value","statistic","method")],stringsAsFactors=FALSE)
}
vars= data.frame(v1=names(selected.df.cor)[1],v2=names(selected.df.cor)[-1]) #corellation pairs
x = 1
df.cor.test = data.frame()
while (x<=6){
corell.func.output.df=correl.func(vars[,1],vars[,2],x=x,selected.df_cor)
df.cor.test=rbind(df.cor.test,corell.func.output.df)
x=x+1
}
do.call(rbind,(mapply(correl.func,c(1:6),MoreArgs=list(data=selected.df.cor),SIMPLIFY=FALSE)))
#error for the do.call,mapply
Error in `[.data.frame`(data,x1): undefined columns selected
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。