程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了R中多个数据帧的相关函数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决R中多个数据帧的相关函数?

开发过程中遇到R中多个数据帧的相关函数的问题如何解决?下面主要结合日常开发的经验,给出你关于R中多个数据帧的相关函数的解决方法建议,希望对你解决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,请注明来意。
标签: