重塑数据框并创建相似度矩阵

2023-12-15

我有一个数据表,我尝试重塑它,但它不起作用,我该怎么做:

我有一个数据表:

Name | Value
-------------
Bob  | 8,9,10
------------
Mike | 2,3,4
------------
Sandr| 5,6,7

我如何将其放入一个列表中,例如:

Value | Name
-------------
  2   | Mike
  3   | Mike
  4   | Mike
  5   | Sandr
  6   | Sandr
  7   | Sandr
  8   | Bob
  9   | Bob
  10  | Bob

然后将此列表放入矩阵中,如下所示:

    2 3 4 5 6 7 8 9 10
   -------------------
2 | 1 1 1 0 0 0 0 0 0 
3 | 1 1 1 0 0 0 0 0 0
4 | 1 1 1 0 0 0 0 0 0
5 | 0 0 0 1 1 1 0 0 0
6 | 0 0 0 1 1 1 0 0 0
7 | 0 0 0 1 1 1 0 0 0
8 | 0 0 0 0 0 0 1 1 1 
9 | 0 0 0 0 0 0 1 1 1
10| 0 0 0 0 0 0 1 1 1 

您正在寻找的功能是stack and contrasts.

data<-list(bob=c(8,9,10),mike=c(2,3,4),sandr=c(5,6,7))

as.data.frame(data)


  bob mike sandr
1   8    2     5
2   9    3     6
3  10    4     7
  
stack(data)


  values   ind
1      8   bob
2      9   bob
3     10   bob
4      2  mike
5      3  mike
6      4  mike
7      5 sandr
8      6 sandr
9      7 sandr
  
df<-stack(data)
contrasts(df$ind,contrasts=FALSE)[df$ind,df$ind]


      bob bob bob mike mike mike sandr sandr sandr
bob     1   1   1    0    0    0     0     0     0
bob     1   1   1    0    0    0     0     0     0
bob     1   1   1    0    0    0     0     0     0
mike    0   0   0    1    1    1     0     0     0
mike    0   0   0    1    1    1     0     0     0
mike    0   0   0    1    1    1     0     0     0
sandr   0   0   0    0    0    0     1     1     1
sandr   0   0   0    0    0    0     1     1     1
sandr   0   0   0    0    0    0     1     1     1
  

您可以指定行名称和列名称,并根据需要进行排序

im<-contrasts(df$ind,contrasts=FALSE)[df$ind,df$ind] 
rownames(im)<-df$values
colnames(im)<-df$values
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重塑数据框并创建相似度矩阵 的相关文章

  • 闪亮的演示文稿 (ioslides):自定义 CSS 和徽标

    我安装了以下内容 RStudio 预览版 版本 0 98 864 2014 年 5 月 24 日 knitr 和shiny 的开发版本 来自 devtools install github c yihui knitr rstudio shi
  • Shiny 中的模态对话框:可以调整宽度但不能调整高度

    在我的 Shiny 应用程序中 我有几个来自闪亮BS 包的模式窗口 我可以像这样调整这些模式窗口的宽度 tags head tags style HTML modal lg width 1200px abs 1 background col
  • 反转默认比例梯度ggplot2

    我是新手 我正在尝试设计热图 这是我的代码 ggplot gd aes Qcountry Q6 1 Q6d order TRUE geom tile aes fill prob colour white theme minimal labs
  • 来自 data.frame 每一列的随机样本

    我想从 a 的每一行中抽取随机样本data frame独立于其他行 这是一个例子 此代码为每行选择相同的列 但我需要为每行独立选择列 library plyr set seed 12345 df1 lt mdply data frame m
  • 返回带有参数的函数的函数

    创建一个应返回包含原始函数参数的函数时 我应该如何处理 例如考虑这个函数 a lt function value function x x value 我希望它返回我在结果函数的参数中指定的值 如下所示 b lt a 3 gt b gt f
  • 从 R 主题模型中的 DocumentTermMatrix 中删除空文档?

    我正在使用 R 中的 topicmodels 包进行主题建模 我正在创建一个 Corpus 对象 进行一些基本的预处理 然后创建一个 DocumentTermMatrix corpus lt Corpus VectorSource vec
  • 根据值的运行总计创建组

    我的数据在一个变量 Y 上是唯一的 另一个变量 Z 告诉我每个 Y 中有多少人 我的问题是我想从这些 Y 和 Z 创建 45 人的组 我的意思是 每当运行总计Z 达到 45 创建一组 然后代码继续创建下一组 我的数据看起来像这样 ID X
  • 尽管提供了群落矩阵,纯素食 DBRDA 物种得分为空

    我使用纯素社区生态包在 R 中执行了 基于距离的冗余分析 dbRDA 我想在 dbRDA 结果的排序图中显示 鱼类 营养群体对样本之间差异 营养级鱼类组合的丰度数据 的相对贡献 IE 将箭头和营养级组名称叠加到排序图上 其中箭头线的长度表示
  • glm() 模型的交叉验证

    我正在尝试对我之前在 R 中构建的一些 glm 模型进行 10 倍交叉验证 我对cv glm 函数在boot包 尽管我已经阅读了很多帮助文件 当我提供以下公式时 library boot cv glm data glmfit K 10 这里
  • readRDS() 加载额外的包

    什么情况下会出现readRDS R 中的函数尝试加载包 命名空间 我很惊讶地在新的 R 会话中看到以下内容 gt loadedNamespaces 1 base datasets graphics grDevices methods sta
  • 使用 ggplotly(ggplot2 withplotly)时可以去掉注释中的跟踪标签吗?

    使用ggplotly时是否可以删除注释中的跟踪标签 例如 library ggplot2 library plotly g lt ggplot iris aes Sepal Width Sepal Length geom point ann
  • r Shiny 中的 fileInput 函数没有响应

    我是 R 和 R闪亮的新手 一直致力于构建一个统计应用程序 该应用程序将允许用户导入文件 然后对数据运行不同的统计程序 直到最近 fileData 函数一直对我来说运行良好 现在每当我尝试上传文件时 都不会打开任何内容 我已尝试了所有我能想
  • 在捕食者-被捕食者系统的生态建模中正确使用 deSolve

    我有一个捕食者 被捕食者模型 其中包含指定的参数和初始值 我在这里用两种方法求解微分方程 1 使用 for 循环 2 使用 deSolve 包 我相信 for 循环是正确的 并且应该给出如下图所示的输出 For loop attempt r
  • R 中带有边缘箱线图的直方图

    如何使直方图中的 X 轴与边缘箱线图匹配 data lt rnorm 1000 nf lt layout mat matrix c 1 2 2 1 byrow TRUE height c 1 3 layout show nf par mar
  • 如何在 R 中查找平衡面板数据(又名,如何查找面板中的哪些条目在给定窗口内完整)

    我有来自 Compustat 的大量数据 我向其中添加了一些手工收集的数据 认真地从一堆旧书中手工收集 但我不想手工收集整个面板 只想随机选择一个子集 为了找到更大的集合 我从中随机选择 我想从 Compustat 的平衡面板开始 我看到p
  • 如何根据查找表匹配多列

    我有以下两个数据框 lookup lt data frame id c A B C price c 1 2 3 results lt data frame price 1 c 2 2 1 price 2 c 3 1 1 我现在想要浏览所有列
  • 在 ggplot 中过滤管道 df

    我正在使用 dplyr 管道来清理我的 df 然后直接输入到 ggplot 中 但是 我只想一次只绘制一组 因此我需要过滤到该组 问题是 我希望比例保持不变 就好像所有群体都存在一样 是否可以在 ggplot 命令中进一步过滤管道 df 例
  • 绘制带有颜色渐变的geom_segment线? (或者还有另一种方法来强调开始与结束吗?)

    我的数据框中有大量行 100 000 的两组纬度和经度变量 我正在尝试绘制一个连接这两组坐标的图 即 从纬度1 经度1 to 纬度2 经度2 使用 geom segment 使用非常低的 alpha 使线条透明 因为线条太多 我想强调这些线
  • 一次评论多个对象

    假设您有一个变量 a 到 j 的列表 for x in 1 10 assign letters x x 您将如何评论那些最近创建的对象 我尝试过类似的事情 for x in 1 10 comment get letters x lt pas
  • DT数据表中的列对齐

    In my shiny我正在使用的应用程序datatable函数来自DT库构建一个表格并希望将列居中对齐 我可以用formatStyle column textAlign center 但它只影响列体而不影响标题 我们必须设置columnD

随机推荐

  • 使用 JSON 为数据工厂中的每个循环提供数据

    数据工厂新手 我正在努力解决以下问题 我有一个 Web 活动 它调用 API 并返回以下 JSON ResponseCode 200 ResponseText OK Data ramco purchaseordershipment ramc
  • JavaScript:劫持副本?

    我刚刚在网上阅读 泰晤士报 我想从文章中复制一些文本并将其即时消息发送给朋友 但我注意到当我这样做时 它会自动将链接附加到我复制的文章中 这不是我的 IM 客户端的功能 所以我认为这是由于 Times 网站上的一些 JavaScript 造
  • 未修饰的 JFrame 阴影

    如何向未修饰的 jframe 添加阴影 根据我在网上找到的信息 您也许可以将 jframe 添加到另一个黑色半透明窗口以提供阴影效果 或者以某种方式将类似的内容应用于 JFrame Border loweredBorder new Etch
  • Laravel 5.2 中 Auth::user() 返回 null

    我搜索并发现了如下各种结果 Laravel 5 2 中 auth gt user 为 null and Auth user 返回 null 但是 我的仍然无法工作 Auth user 在控制器中有效 但在模型中无效 它返回null 代码是
  • 与 NSString API 交互时我应该使用哪种 Swift 字符数?

    有时我需要在后台使用依赖于 NSString NSRange 的 API 但我的大部分代码都是用 Swift 编写的 当我需要提供索引 或范围 时 我应该使用哪种 Swift 字符数 例如 给定这个函数 func replace strin
  • XML Inflater 没有看到任何视图?

    首先我应该问是否确实可以做我想做的事情 我有一个自定义的RelativeView 它包含4 个TextView 和一个在xml 布局中定义的按钮
  • Javascript 会出现 CORS 错误,但 Python/PHP 不会出现 CORS 错误

    我正在编写一个小脚本来访问外部 API 以进行工作 我最初是用 Python 做的 一切正常 然后我被要求尝试用 Javascript 来做 现在 我实际上不是程序员 但我确实知道 或相信 Javascript 主要用于客户端 而 PHP
  • 为什么 String.replace 不起作用? [复制]

    这个问题在这里已经有答案了 我现在有点困惑 我尝试过 String test KP 175 105 test replace KP System out println test and got KP 175 105 但是 我想要 175
  • 读取事件参数 AWS lambda

    我有一个 lambda 函数 Node js 4 3 如下所示 exports handler function event context callback console log Received event JSON stringif
  • 根据环境有条件地渲染 Gatsby-config 中的 siteUrl 属性

    我想在我的中设置一个简单的表达式gatsby config js这决定了我是在本地工作还是在生产中工作 以便我可以设置siteUrl财产适当 我的盖茨比配置 带有伪代码 module exports siteMetadata title M
  • 将小型 Oracle 长原始值转换为其他类型

    我有一个 Oracle 表 其中包含 LONG RAW 类型的字段 其中包含 ASCII 字符数据 如何编写查询或视图来将其转换为更容易使用的字符串 FWIW 这些始终是单字节字符 Maybe select to lob long raw
  • 检测文件何时上传到 GAS 中的 Google Drive

    我正在寻找一种在将文件上传到谷歌驱动器时触发 GAS 谷歌应用程序脚本 的方法 有人向我指出了推送通知 API 我无法让它与 GAS 一起工作 StackOverflow 上有很多关于此的问题 但都是 5 年前的事了 从那以后有什么变化吗
  • 此 FORTRAN 代码不应编译。这样做有什么原因吗?

    以下代码可以编译 但我认为不应该编译 正如你所看到的 输出是垃圾 这是一个最小的失败例子 在我从事的一个大型项目中 这个例子让我很痛苦 我的问题是 为什么编译器不抱怨 这是编译器的限制 还是这在某种程度上是 预期的行为 而我错过了一些东西
  • 独角兽陷入循环:刷新宝石列表

    我正在使用 Rails 4 0 0 Ruby 2 3 和 Unicorn 我的应用程序一直运行良好 直到有一天我尝试在 Gemfile 中添加 nem gem 一切都在本地正常运行 但是当我使用 Capistrano 部署到 DO 时 我陷
  • Android 5.x 快门速度

    我正在尝试获取受支持的快门速度参数 但我现在确定如何获取这些范围 对于 ISO 值 String supportIsoValues camParams get iso values 支持的值 逗号分隔的字符串 System out prin
  • Aptana 3 php 无法激活函数链接和变量辅助

    我刚刚升级到 Aptana 3 似乎失去了 Eclipse 中的一些强大功能 到目前为止我不知道如何重新启用它 具体来说 我需要重新打开这两个功能 FileUpload checkForExistingUploadPath somepath
  • Bash 脚本转换日期格式

    我正在寻找替换现有的日期格式 CCYY MM DD with MM DD CCYY使用 shell 脚本将日期格式存储在大文件中 在更改日期格式之前 它应该如下所示 2014 01 31 2014 01 31 更改日期格式后应该如下所示 0
  • 自定义 OWIN/Katana UserManager 工厂行为

    网上有很多使用 OWIN Katana 的示例 可以根据用户名 密码组合在数据库中查找用户并生成声明主体 例如 var userManager context OwinContext GetUserManager
  • 找到给定数字的所有因数的最佳方法

    所有能整除 x 的数字 我输入 4 它返回 4 2 1 编辑 我知道这听起来很家庭作业 我正在编写一个小应用程序 用半随机测试数据填充一些产品表 其中两个属性是 ItemMaximum 和 Item Multiplier 我需要确保乘数不会
  • 重塑数据框并创建相似度矩阵

    我有一个数据表 我尝试重塑它 但它不起作用 我该怎么做 我有一个数据表 Name Value Bob 8 9 10 Mike 2 3 4 Sandr 5 6 7 我如何将其放入一个列表中 例如 Value Name 2 Mike 3 Mik