数据框中按行相关

2024-05-23

我正在尝试计算大型数据帧的所有行之间的相关性,到目前为止已经提出了一个有效的简单 for 循环。例如:

name <- c("a", "b", "c", "d")
col1 <- c(43.78, 43.84, 37.92, 31.72)
col2 <- c(43.80, 43.40, 37.64, 31.62)
col3 <- c(43.14, 42.85, 37.54, 31.74)
df <- data.frame(name, col1, col2, col3)
cor.df <- data.frame(name1=NA, name2=NA,correl=NA)

for(i in 1: (nrow(df) - 1))  {
  for(j in (i+1): nrow(df) ) {
    v1 <- as.numeric( df[i, 2:ncol(df)] )
    v2 <- as.numeric( df[j, 2:ncol(df)] )
    correl <- cor(v1, v2)

    name1 <- df[i, "name"]
    name2 <- df[j, "name"]

    dftemp <- data.frame(name1, name2, correl)
    cor.df <- rbind(cor.df, dftemp)
   }
}

na.omit(cor.df)

#    name1 name2     correl
#     a     b      0.8841255
#     a     c      0.6842705
#     a     d     -0.6491118
#     b     c      0.9457125
#     b     d     -0.2184630
#     c     d      0.1105508

考虑到大数据帧和低效的 for 循环,相关性计算需要很长时间。有人对如何使其更快有任何建议吗?请注意,我的列表中有很多数据框,因此我可以使用 lapply (但尚未弄清楚如何编写该行代码)


删除第一列,转置并使用基础::cor功能:

> cor(t(df[-1]))
           [,1]       [,2]      [,3]       [,4]
[1,]  1.0000000  0.8841255 0.6842705 -0.6491118
[2,]  0.8841255  1.0000000 0.9457125 -0.2184630
[3,]  0.6842705  0.9457125 1.0000000  0.1105508
[4,] -0.6491118 -0.2184630 0.1105508  1.0000000

# pretty output
x <- cor(t(df[, -1]))
x[upper.tri(x, diag = TRUE)] <- NA
rownames(x) <- colnames(x) <- df$name
x <- na.omit(reshape::melt(t(x)))
x <- x[ order(x$X1, x$X2), ]

x
#    X1 X2      value
# 5   a  b  0.8841255
# 9   a  c  0.6842705
# 13  a  d -0.6491118
# 10  b  c  0.9457125
# 14  b  d -0.2184630
# 15  c  d  0.1105508
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据框中按行相关 的相关文章

  • 如何在ggplot2中正确使用facet_grid?

    我试图使用以下代码为每个配置文件生成一个图表 但我不断收到 至少一层必须包含用于分面的所有变量 错误 我花了最后几个小时试图让它发挥作用 但我做不到 我相信答案一定很简单 有人可以帮忙吗 d structure list category
  • 约束优化 R:另一个例子

    我正在尝试在 R 中执行约束优化 我已经查看了这些帖子和其他一些帖子 R 中的约束优化 https stackoverflow com questions 5436630 constrained optimization in r R 中的
  • rpy2 (版本 2.3.10) - 将数据从 R 包导入到 python 中

    因此 我尝试将一些数据从 R 包导入到 python 中 以测试我编写的其他一些 python rpy2 函数 特别是 我正在使用SpatialEpiR 中的包和pennLC数据集 所以我能够导入 rpy2 包并正确连接到该包 但是 我不确
  • 将强化的 data.frame 转换回 sf 对象

    五十斯塔特包提供了一张很棒的美国地图 其中有夏威夷和阿拉斯加 如下图所示 对象五十 州已经得到加强 可以与 ggplot2 一起使用 但是 我想使用 geom sf 将其绘制为 sf 对象 作为一个更普遍的问题 将强化的 data fram
  • Pandas DataFrame 到嵌套 JSON 而不更改数据结构

    I have pandas DataFrame import pandas as pd import json df pd DataFrame 2016 04 30T20 02 25 693Z vmPowerOn vmName 2016 0
  • pySpark 映射多列

    我需要能够使用多列比较两个数据帧 pySpark尝试 get PrimaryLookupAttributeValue values from reference table in a dictionary to compare them t
  • orderBy 随递减排序和递增排序的变化

    是否有一种标准方法可以按几列对 data frame 进行排序 但会发生减少或增加的变化 例如 您可能希望按一个变量 递减 和下一个变量 递增 对 data frame 进行排序 有没有类似的东西 mydf order mydf myvar
  • 使用具有多个元素的字典过滤数据框

    我已经尝试了几个小时来在这里找到答案 但我无法在我的特定情况下找到任何答案 我能找到的最接近的是 使用字典将多个字符串包含过滤器应用于 pandas 数据框 https stackoverflow com questions 4338916
  • glmnet R 包中的 cv.glmnet 出现“drop(y %*% rep(1, nc)) 错误”错误

    我有一个返回 cv glmnet 模型的 auc 值的函数 尽管不是大多数时间 但在执行 cv glmnet 函数时 它经常返回以下错误 下降误差 y 代表 1 NC 在为函数 drop 选择方法时评估参数 x 时出错 y 中的错误 rep
  • 不同大小组的高效递归随机抽样

    这个问题是我之前关于递归随机抽样问题的后续问题高效的递归随机采样 https stackoverflow com questions 69824065 efficient recursive random sampling 当组大小相同或每
  • ggplot2 的组合图(不在单个图中),使用 par() 或 layout() 函数? [复制]

    这个问题在这里已经有答案了 我一直在考虑使用 par 或 layout 函数来组合 ggplots 可以使用这些功能吗 假设我想绘制 ggplot 散点图和 ggplot 直方图 我想将这两个地块合并起来 而不是在一个地块中 是否适用 我在
  • 数据集子集的回归

    我想做以下事情并需要一些帮助 分别计算 身高 与 年龄 的斜率和截距 lm Height Age 一 每个人 二 性别 并创建一个包含结果 斜率和截距 的表 我可以使用 申请 吗 在下一步中 我想做一个统计测试 以确定性别之间的斜率和截距是
  • Python DataFrame:将一列转置为多列

    我有一个如下所示的数据框 df pd DataFrame month 2017 09 27 2017 09 27 2017 09 28 2017 09 29 Cost 100 500 200 300 我怎样才能得到这样的 df 2017 0
  • data.frame 按列分组[重复]

    这个问题在这里已经有答案了 我有一个数据框 DF 说 DF 是 A B 1 1 2 2 1 3 3 2 3 4 3 5 5 3 6 现在我想将 A 列的行组合在一起 并得到 B 列的总和 例如 A B 1 1 5 2 2 3 3 3 11
  • 评估 R 中字符串指向的函数

    假设我有以下内容 x lt 1 10 squared lt function x x 2 y lt squared 我希望能够使用 y 定义的字符串来评估该函数 像 eval y 这样的东西 我知道这是错误的 但会返回 1 1 4 9 16
  • 什么是 data.frame 可以做而 data.table 不能做的事情?

    我刚刚开始使用 R 并遇到了 data table 我发现它很棒 一个非常天真的问题 我可以忽略 data frame 来使用 data table 以避免两个包之间的语法混淆吗 来自数据表常见问题解答 http datatable r f
  • 不同的分位数:箱线图与小提琴图

    require ggplot2 require cowplot d iris ggplot2 ggplot d aes factor 0 Sepal Length geom violin fill black alpha 0 2 draw
  • 在多个线程中添加和删除时 List 中的 null 值

    我知道 C System Collections Generic List 对象不是线程安全的 但我想知道为什么这段代码会生成空值 Task Run gt for var i 0 i lt 10 i var str Test i list
  • Spark中DataFrame、Dataset、RDD的区别

    我只是想知道有什么区别RDD and DataFrame Spark 2 0 0 DataFrame 只是一个类型别名Dataset Row 在阿帕奇火花 你能将其中一种转换为另一种吗 首先是DataFrame是从SchemaRDD 是的
  • 使用 dplyr 和 ggplot 绘制包括负值的多面水平发散堆积条形图

    我希望这个例子能够让人清楚 我想要堆叠条形 其中中间条形跨越 0 因为它代表中性值 这与李克特量表一起使用 为了重现性 我使用钻石数据集 以下示例与我的用例足够接近 并演示了我很难以正确的顺序获取 好 或 正 数据 因此中性最接近 0 这是

随机推荐

  • 最佳开源混合整数优化求解器[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 CPLEX 来解决巨大的优化模型 超过 100k 个变量 现在我想看看是否可以找到开源替代
  • 在 iPhone 上下载、保存和播放 mp3

    我想从某个网站下载 mp3 文件 将其保存到我的 CoreData 模型 AudioMp3 中 然后播放 下面的函数可以工作 但首先 效率低下 因为它必须首先将 mp3 保存到文件 其次 它在接下来的调用次数中重复播放相同的 mp3 我认为
  • 定位精度定义 - iOS

    iOS 上返回的 准确性 或 不确定性 的统计意图是什么 即使是近似值 例如 Android 文档对其返回的精度数字进行了解释 从这个意义上讲 它大约是一个标准差 我们将准确度定义为 68 置信度的半径 换句话说 如果 您以该位置的纬度和经
  • SqlConnection - 是远程连接还是本地连接?

    如果我有 SqlConnection 对象 如何确定它是本地连接 localhost 或 127 0 0 1 还是远程连接 本地区域的其他计算机 使用连接询问 SQL 语句 SELECT SERVERNAME 然后验证这是否与客户端计算机的
  • 尽管遵循安装说明,Beaker 仍无法找到 Python 和 Julia 安装

    我最近安装了 Beaker Notebook 但无法启动 Python 我已经安装了 Python 它是使用 Anaconda 安装的 实际上推荐用于 Beaker 我已经编辑过beaker pref json指向我的安装 见下文 但它无法
  • SonarQube 不收集代码覆盖率

    我在使用 sonar runner 和 jacoco 设置 gradle 时遇到问题 除了代码覆盖率之外 一切都很好 我已经尝试了一切但没有结果 这是我的 build gradle 文件 apply from dependencies gr
  • 防止应用程序在控制台关闭时退出

    I use AllocConsole 在 winform 应用程序中打开控制台 如何防止应用程序在控制台关闭时退出 EDIT 不时更新的完成百分比是我想在控制台中显示的 void bkpDBFull PercentComplete obje
  • PHP-MySQLi 连接随机失败并显示“无法分配请求的地址”

    大约两周以来 我一直在处理 LAMP 堆栈中最奇怪的问题之一 长话短说 与 MySQL 服务器的随机连接失败并显示错误消息 Warning mysqli real connect HY000 2002 Cannot assign reque
  • NSIndexpath.item 与 NSIndexpath.row

    有谁知道之间的区别NSIndexpath row and NSIndexpath item 具体来说 我在以下情况中使用哪一个 UITableViewCell tableView UITableView tableView cellForR
  • 从枚举参数推断 Typescript 函数返回类型

    我想创建一个加载服务 为枚举中定义的 ID 返回正确类型的数据 我所做的看起来像这样 enum IdentifierEnum ID1 ID1 ID2 ID2 interface DataType IdentifierEnum ID1 num
  • 从 React-Navigation V4 - V5 迁移到 CommonActions.init 和 router.getStateForAction 发生了什么?

    我们的应用程序使用CommonActions init 并将其传递给router getStateForAction 我这里有两个问题 the init 功能不再在CommonActions the router getStateForAc
  • “如何判断 Python 中的字符串是否重复?”的更复杂版本

    我正在读书这个帖子 https stackoverflow com questions 29481088 how can i tell if a string repeats itself in python我想知道是否有人可以找到将重复的
  • Rails:使用水豚填充动态字段

    我有一个通过 javascript 动态创建的带有长 id 的文本字段 user user skills attributes 69878013874980 skill title 哪里的69878013874980是生成的时间戳 如何在水
  • 如何在 Netbeans 工具栏中创建自定义按钮?

    我有一个命令行脚本 保存在我的电脑上的一个文件中 如何在 NB 7 0 中创建工具栏按钮 以便单击此按钮将运行我保存的脚本 另外 我应该将脚本文件命名为什么文件扩展名 以便它可以执行 或者这很重要吗 这里有一个工具栏按钮教程 http pl
  • [\b] 退格正则表达式有什么用?

    b 显然匹配退格字符 我无法理解字符串如何包含退格字符 有人能给我一个具体的例子来说明如何使用它吗 非常感谢 虽然所有其他人总体上都是正确的 即 b是单词边界 b does表示字符类中的退格键 b 这确实会匹配退格字符 它只是一个可以出现在
  • “第一类对象”是什么意思?

    In a 最近的问题 https stackoverflow com questions 700684 content ideas for a short javascript lesson 我收到了一些建议 其中包括讨论 JavaScri
  • 如何获取Postgres当前的可用磁盘空间?

    在开始在数据库中进行某些工作之前 我需要确保至少有 1Gb 的可用磁盘空间 我正在寻找这样的东西 select pg get free disk space 是否可以 我在文档中没有找到任何相关内容 PG 9 3 操作系统 Linux Wi
  • 通过node.js的npm安装gulp会破坏windows

    我想在我的 Windows 机器上使用 gulp 它实际上工作得很好 除非我尝试使用创建的文件 例如推送到 github 或删除 然后它就崩溃了 因为文件路径太长 这似乎是一个相当常见的问题 https github com joyent
  • 如何从另一个UserControl继承一个UserControl?

    是否可以从另一个用户控件继承用户控件 我想要实现的是从另一个用户控件继承的用户控件 所以我有baseusercontrol ascx 它只有文本 Stuff 然后我有另一个用户控件 childusercontrol ascx 继承了base
  • 数据框中按行相关

    我正在尝试计算大型数据帧的所有行之间的相关性 到目前为止已经提出了一个有效的简单 for 循环 例如 name lt c a b c d col1 lt c 43 78 43 84 37 92 31 72 col2 lt c 43 80 4