大佬教程收集整理的这篇文章主要介绍了R中多个数据帧的相关函数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的数据分析有点卡住了。 我有多个数据框需要进行相关分析。我想将 cor.test 的参数打包到数据框列表中。每个数据框都是由一个因子变量分割的数据框的乘积,并且只包含 2 个变量(那些感兴趣的变量)。我需要在整个研究项目中为多个变量执行此操作,以便将来为它提供一个函数会很好。
代码:
get_correlation_parameters <- function(objectname,factorvar){
dataList <- mget(ls(pattern = print(objectname)))
parameters <- List()
for (i in 1:length(factorvar)) {
x <- dataList[[i]][,1]
y <- dataList[[i]][,2]
test <- cor.test(x,y)
DF <- data.frame(test$estimate,test$conf.int,test$p.value)
parameters <- c(parameters,DF[i]) }
}
有人可以帮我找出错误吗? 我尝试了很多事情,我无法克服自己的偏见。 如果我可以轻松地指定用于相关统计的方法(例如 pearson、spearman 等),那也很好。我想可以在函数输入参数中对此进行调整 非常感谢,
切里奥, 娜丁
没有关于您的数据的更多信息,很难具体说明,但这里有一个使用 R 中包含的数据集 iris
的示例。它对三种虹膜中的每一种都有不同的测量值。基本步骤是将数据框拆分为包含三个数据框的列表,每个物种一个。然后使用 lapply
三次,一次运行相关性测试,第二次提取您想要的统计数据,第三次因为置信区间是向量而不是标量值。希望这与您的数据组织类似:
data(iris)
iris.lst <- split(iris[,1:2],iris$Species)
results.lst <- lapply(iris.lst,function(x) cor.test(x[,1],x[,2],method="pearson"))
results.stats <- lapply(results.lst,"[",c("estimate","conf.int","p.value"))
stats <- do.call(rbind,lapply(results.stats,unlist))
stats
# estimate.cor conf.int1 conf.int2 p.value
# setosa 0.7425467 0.5851391 0.8460314 6.709843e-10
# versicolor 0.5259107 0.2900175 0.7015599 8.771860e-05
# virginica 0.4572278 0.2049657 0.6525292 8.434625e-04
stats
对象是一个矩阵,要将其转换为数据框使用:
stats <- data.frame(stats)
以上是大佬教程为你收集整理的R中多个数据帧的相关函数全部内容,希望文章能够帮你解决R中多个数据帧的相关函数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。