合并R中不同大小和条件的数据帧

2024-02-27

我正在尝试将 2 个 csv 文件合并为一个文件。它们有共同的 id,但大小不同。我使用了 merge() 但我得到了复制的数据。我有以下数据框;

SR <- c("SR1", "SR2", "SR2", "SR2", "SR3", "SR4", "SR4")
school <- c("S-1", "S-1", "S-2", "S-4", "S-2", "S-1", "S-5")
Y <- c(3,4,1,2,5,2,3)
data1 <- data.frame(SR.id, school, Y)


SR <- c("SR1", "SR1", "SR1", "SR2", "SR2", "SR2", "SR2", "SR2", "SR2", "SR2", "SR3", "SR3", "SR4", "SR4", "SR4")
class <- c("S-1.02", "S-1.05", "S-1.07", "S-1.01", "S-1.02", "S-1.03", "S-1.06", "S-2.03", "S-2.15", "S-4.02", "S-2.01", "S-2.03", "S-1.05", "S-1.06", "S-5.01")
data2 <- data.frame(SR, class)
data1
  SR     school     Y
  SR1     S-1       3
  SR2     S-1       4
  SR2     S-2       1
  SR2     S-4       2
  SR3     S-2       5
  SR4     S-1       2
  SR4     S-5       3

data2
  SR      class
  SR1     S-1.02 
  SR1     S-1.05
  SR1     S-1.07
  SR2     S-1.01
  SR2     S-1.02
  SR2     S-1.03
  SR2     S-1.06
  SR2     S-2.03
  SR2     S-2.15
  SR2     S-4.02
  SR3     S-2.01
  SR3     S-2.03
  SR4     S-1.05
  SR4     C-1.06
  SR4     C-5.01

学校在哪里结果应该是

  SR      school     class      Y
  SR1      S-1       S-1.02     3
  SR1      S-1       S-1.05     3
  SR1      S-1       S-1.07     3
  SR2      S-1       S-1.01     4
  SR2      S-1       S-1.02     4
  SR2      S-1       S-1.03     4
  SR2      S-1       S-1.06     4
  SR2      S-2       S-2.03     1
  SR2      S-2       S-2.15     1
  SR2      S-4       S-4.02     2
  SR3      S-2       S-2.01     5
  SR3      S-2       S-2.03     5
  SR4      S-1       S-1.05     2
  SR4      S-1       S-1.06     2
  SR4      S-5       S-5.01     3

感谢您的帮助。


一个选项是regex_left_join from fuzzyjoin

library(fuzzyjoin)
library(dplyr)
regex_left_join(data2, data1, by = c("SR", "class" = "school")) %>%
      select(SR = SR.x, school, class, Y)

#    SR    school   class    Y
# 1  SR1    S-1     S-1.2    3
# 2  SR1    S-1     S-1.5    3
# 3  SR1    S-1     S-1.7    3
# 4  SR2    S-1     S-1.1    4
# 5  SR2    S-1     S-1.2    4
# 6  SR2    S-1     S-1.3    4
# 7  SR2    S-1     S-1.6    4
# 8  SR2    S-2     S-2.3    1
# 9  SR2    S-2     S-2.9    1
# 10 SR2    S-4     S-4.2    2
# 11 SR3    S-2     S-2.1    5
# 12 SR3    S-2     S-2.3    5
# 13 SR4    S-1     S-1.5    2
# 14 SR4    S-1     S-1.6    2
# 15 SR4    S-5     S-5.1    3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

合并R中不同大小和条件的数据帧 的相关文章

  • R data.table fwrite 到 fread 空间分隔符并清空

    我在使用 fread 以 作为分隔符和散布的空白值时遇到问题 例如 这个 dt lt data table 1 5 1 5 1 5 make a simple table dt 3 V2 NA add a blank in the midd
  • R 编程常用工具

    如果已经以不同的方式问过这个问题 我深表歉意 但我找不到任何达到我想要的东西 我真的是从其他软件包 SPSS 开始接触 R 的 当我了解真正可以做什么时 我意识到我还需要其他 工具 这让我想到了我的问题 您有哪些用于开发 R 代码的设置 我
  • 在 igraph 中为社区分配颜色

    我在 igraph 中使用 fastgreedy community 检测算法在 R 中生成社区 代码返回 12 个社区 但是在绘图时很难识别它们 因为它返回的图的颜色数量有限 我怎样才能用十二种不同的颜色绘制这个图表 l2 lt layo
  • 读取R中打开的Excel文件

    有没有办法将打开的Excel文件读入R 当Excel中打开一个excel文件时 Excel会对文件加锁 比如R中的read方法无法访问该文件 你能绕过这个锁吗 Thanks 编辑 这发生在带有原始 Excel 的 Windows 下 发生错
  • 如何自动启动我的 ec2 实例、运行命令然后将其关闭?

    我想每周对 redshift postgres 数据库中的数据运行一次机器学习模型 我使用以下命令将 R 脚本设置为休息 apiplumbr然后我将其设置为一项任务来管理pm2 我有它 所以任务会在ec2实例启动然后继续运行 要让 R 脚本
  • 如何绘制堆积比例图?

    我有一个数据框 x lt data frame id letters 1 3 val0 1 3 val1 4 6 val2 7 9 id val0 val1 val2 1 a 1 4 7 2 b 2 5 8 3 c 3 6 9 我想绘制一个
  • 如何绘制大时间序列(数千次给药次数/药物剂量)?

    我正在尝试绘制医院中如何开出单一药物的图解 在这个虚拟数据库中 我在 2017 年 1 月 1 日之后遇到了 1000 名患者 绘图的目的是了解该药物的给药模式 在接近入院 出院或患者住院期间是否更频繁 高剂量给药 Get random d
  • ubuntu中R的igraph包的安装

    我使用以下命令在 ubuntu 中安装 R 的 igraph 包 install packages igraph 但我收到一条错误消息 警告 无法访问存储库的索引 http ftp iitm ac in cran src contrib h
  • 对 data.table 中的列表列执行操作

    假设我有一个data table 例如dt lt data table foo list 1 3 4 6 bar c 2 7 如何使用 dt 框架对 foo 向量列表执行操作 操作可能是将 bar 添加到 foo 返回列表 3 5 11 1
  • R 中按时间划分的平均值

    我每秒测量一次化合物浓度 我想求 30 秒和 60 秒的平均值 我一直在阅读这里的帖子 我尝试过lubridate and dplyr 但没有运气 我正在努力完成这项工作 但我一直没能做到 我正在从 SAS 过渡到 R 所以请耐心等待 这是
  • 跟踪循环迭代

    抛硬币 成功 你赢100 否则你输50 你会一直玩 直到你口袋里有钱a 的价值如何a在任何迭代中都被存储 a lt 100 while a gt 0 if rbinom 1 1 0 5 1 a lt a 100 else a lt a 50
  • 使用字符串中的变量名称访问变量值,R

    Intro 一个数据集有大量的age year变量 age 1990 age 1991 etc 我有一个字符串值数组length age years 表示这些变量 使得age years 1 回报 age 1990 etc Need 我想搜
  • rpart“as.character(x) 中的错误:无法强制类型 'builtin' 为类型 'character' 的向量”消息是什么意思?

    我一直在用头撞rpart几天了 尝试为我拥有的这个数据集制作分类树 我认为现在是时候询问生命线了 我确信这是我没有看到的愚蠢的事情 但这里是我一直在做什么 EuropeWater lt read csv file paste Users a
  • 为什么数据帧上的 is.vector 不返回 TRUE?

    tl dr R 中的向量到底是什么 长版 R 中很多东西都是向量 例如 数字是长度为 1 的数值向量 is vector 1 1 TRUE 列表也是一个向量 is vector list 1 1 TRUE 好的 所以列表是一个向量 显然 数
  • R中的重叠矩阵

    我有以下数据框 id channel 1 a 1 b 1 c 2 a 2 c 3 a 我想创建并重叠矩阵 它基本上是一个方阵 行和列标签为 a b c 表中的每个条目显示每个通道共有多少个 id 例如 在上面的例子中 矩阵看起来像 a b
  • 列出 R 数据文件的内容而不加载

    我有时用print load myDataFile RData 当我加载数据文件时列出它的内容 有没有办法列出内容而不加载数据文件中包含的对象 我认为如果不加载对象就无法做到这一点 解决方案可能是使用包装器将 R 对象保存到save 该函数
  • 使用officer R导出时如何提高ggplots的分辨率

    我想将图表导出到 PPT 并使用Officer 包来实现相同的目的 但是 图表的默认分辨率较低 我想更改它 我目前正在使用以下电话 ph with gg p1 type chart res 1200 其中 p1 是 ggplot 对象 运行
  • 正态分布平均值的贝叶斯推理玩具 R 代码 [降雪量数据]

    我有一些降雪观测 x lt c 98 044 107 696 146 050 102 870 131 318 170 434 84 836 154 686 162 814 101 854 103 378 16 256 我被告知它遵循正态分布
  • 需要在R中按行绑定列表数据

    我在 R 中按行绑定列表时遇到问题 我的列表数据集是 id 1 data k 1 id k b c 1 1 1 3 data k 2 id k b c 1 2 1 4 id 2 data k 1 id k b c 2 1 1 6 data
  • 在R中循环子文件夹

    我正在 R 环境中包含多个子文件夹的文件夹中工作 我想要循环遍历多个子文件夹 然后在每个子文件夹中调用 R 脚本来执行 我想出了下面的代码 但我的代码似乎添加了 到子文件夹列表 我收到错误 文件中的错误 文件名 r 编码 编码 无效的 描述

随机推荐

  • 推送到数组后,待办事项列表不会刷新

    每当我向数组添加待办事项时 它都不会在 html 中刷新 我需要什么来解决这个问题 另外 如何将循环创建的删除按钮连接到函数 const form document querySelector form const input docume
  • 从 crontab 运行存储过程

    我有布局 Mysql DB DB name db name DB User name user name Password 12345 Stored procedure my stored procedure 如何从 crontab 每天执
  • JavaScript 可以像 jQuery 一样使用 prevAll 吗?

    如何在 JavaScript 中实现这一点 function prevAll element some code to take all siblings before element return elements With previo
  • 如何以rails方式获取新创建记录的id?

    假设我有 2 个模型model1 and model2 model1有很多model2 model2 belongs to model1 Save model1 and model2同时 class Model1 lt ActiveReco
  • 从nodejs调用firebase云函数

    我想从另一个 NodeJS 服务器或只是一个 NodeJS 脚本调用 Firebase 的云函数 我的 firebase 函数是 onCall 函数 我在用https www npmjs com package firebase admin
  • Sprockets::FileNotFound 找不到类型为“text/css”的文件“bootstrap”

    这是当我尝试运行 Rails 服务器时在浏览器中遇到的错误 couldn t find file bootstrap with type text css 我的 gemfile 中有这个 gem bootstrap sass gt 3 3
  • 在 QtQuick 中应用 MVVM 模式

    我如何在 QtQuick 应用程序中应用 MVVM 模式 有人能给我任何示例 简单 代码吗 Thanks 使用 C ViewModel https bitbucket org AntyaDev qtquickmvvmexample over
  • 如何减少anaconda目录下的文件数量?

    我在计算集群上运行 conda 环境 其中每个 项目 的文件总数受到限制 最多 200k 个文件 我只创建了几个 conda 环境 anaconda for Python 2 7 每个环境中安装了约 200 个 python 和 R 包 环
  • 如何从 mp4 视频中删除或编辑 Exif?

    我用 Samsung Galaxy II 录制了一个全高清视频 当我将其上传到 YouTube 时 我发现它变成了 90 度 就像纵向布局 1080x1920 而不是 1920x1080 我找到了问题的原因 YouTube 正在读取视频元数
  • JNA 结构和指针映射

    如何将下面的函数映射到java VOID WriteToStruct BOOL 状态 STRUCT MSG RecBuff 这个函数的作用是 1 填充结构 RecBuff2 更新状态 如何映射到 Java 中的布尔指针并访问函数更新的结构数
  • STM32 上的 ADC 单次转换

    我正在研究 STM32 F103x 上的 ADC 编程 并从最简单的情况 单次转换开始 测量内部温度传感器 连接到 ADC1 的值 并使用 USART 将其发送到 COM 端口 目标似乎很明确 但是当我尝试将源代码下载到闪存时 它不会向 C
  • Django 1.8 与 Postgres BDR 9.4.1 的迁移

    我正在尝试使用 BDR 在 Postgres 数据库上运行 Django 迁移 python manage py makemigrations 工作正常 但正在运行 python manage py migrate 结果出现以下错误 ALT
  • 从文本内容生成标签

    我很好奇是否存在一种算法 方法可以通过使用一些权重计算 出现率或其他工具从给定文本生成关键字 标签 此外 如果您为此指出任何基于 Python 的解决方案 库 我将不胜感激 Thanks 实现此目的的一种方法是提取文档中出现频率比您预期的偶
  • ionic - iPAD 中的下拉列表闪烁

    我的 Ionic 应用程序中的下拉列表在 iPAD 中闪烁 1 在下拉点击 2 如果点击外部下拉列表 3 如果点击下拉列表内 将再次显示图像 1 它在 iPhone 5s 上运行良好 但在 iPAD 中则不然 有什么解决方案或解决方法吗 E
  • 如何使用 Selenium 进行搜索、向下箭头并按 Enter 键

    我正在尝试搜索一家公司 在 inhersight com 上向下箭头并单击 Enter 我有以下代码 但它似乎不起作用 from selenium import webdriver from selenium webdriver commo
  • Flutter 可以高效地布局嵌套列表吗?

    这样的布局在 Flutter 中能否实现并高效渲染 Example 黄色和蓝色块都可以有大约 30 个元素 所以我想应该使用类似 ListView builder 的东西 我尝试过嵌套2个ListView builder 内部带有shrin
  • Knuth-Morris-Pratt 失效表

    我正在准备考试 正在研究 Knuth Morris Pratt 算法 考试内容是不及格表和 DFA 构建 我了解 DFA 构造 但我不太了解如何制作失败表 如果我有一个模式 abababc 的示例 如何从中构建失败表 解决办法是 失败表 0
  • 无法使用javascript下载大数据

    我在 javascript 中有大量 JSON 对象形式的数据 我已使用 JSON stringify 将其转换为字符串 现在我的用例是在文本文件中向用户提供这个大字符串 为此 我编写了下面的代码 HTML代码
  • 为什么文档为空?

    更新 使用接近工作的解决方案 我试图让 跳到内容 链接跳转到 content start 之后的第一个可聚焦元素 登录库 component ts import Component OnInit from angular core impo
  • 合并R中不同大小和条件的数据帧

    我正在尝试将 2 个 csv 文件合并为一个文件 它们有共同的 id 但大小不同 我使用了 merge 但我得到了复制的数据 我有以下数据框 SR lt c SR1 SR2 SR2 SR2 SR3 SR4 SR4 school lt c S