首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中2个p值数据帧的cor.test相关

R中2个p值数据帧的cor.test相关
EN

Stack Overflow用户
提问于 2016-12-16 17:48:27
回答 1查看 1.6K关注 0票数 1

我有两个数据帧,它们彼此不同,我需要对那些在R中使用R函数的数据帧进行关联。

我的数据帧有相同的列数,但行之间是不同的。

例如,在熔化(使用来自melt()包的reshape函数)之后,数据帧如下所示:

每个数据帧都有84列和不同的行计数:

代码语言:javascript
复制
head(df1)


ID  variable    value
ENSG60  AE02_ID 7.408430
ENSG53  AE02_ID 0.000000
ENSG94  AE02_ID 2.556464
ENSG49  AE02_ID 0.032384
ENSG9   AE02_ID 0.000000

head(df2)

代码语言:javascript
复制
ID  variable value
ENSG3   AE02_ID 0.000001
ENSG1   AE02_ID 0.329180
ENSG8   AE02_ID 0.000000
ENSG10  AE02_ID 29.157761
ENSG20  AE02_ID 0.633884

我使用以下R脚本进行分析,其中它返回Spearman系数:

代码语言:javascript
复制
result <- apply(mat1, 2, function(col_mat1){
  apply(mat2, 2, function(col2, col1) {
    cor.test(col2, col1, method = "spearman")$estimate # this returns the p-value of the cor.test
  }, col1=col_mat1)
})

当我试图向上面的函数添加一个p.value时,如下所示:

代码语言:javascript
复制
result <- apply(mat1, 2, function(col_mat1){
  apply(mat2, 2, function(col2, col1) {
    cor.test(col2, col1, method = "spearman")cbind($estimate,$p.value) # this returns the p-value of the cor.test
  }, col1=col_mat1)
})

它正在返回一条错误消息。

任何建议或帮助都会很好。谢谢。想要的结果是这样的,

代码语言:javascript
复制
    df1     df2     Coefficient     P.value
    ENSG60  ENSG3   0.1828591281    0.00546547
    ENSG53  ENSG1   0.021038182 0.021038182
    ENSG94  ENSG8   -0.0683044433   0.000657
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-17 15:35:52

您还没有给出一个可重复的例子,但我认为您的内部功能需要稍加修改(例如)如下所示:

代码语言:javascript
复制
function(col2, col1) {
    cc <- cor.test(col2, col1, method = "spearman")
    cbind(cc$estimate,cc$p.value)
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41190932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档