合并具有相同 ID 变量的行[重复]

2023-12-21

我在 R 中有一个数据帧,包含 38 个变量的 2186 个 obs。行有一个 ID 变量,引用独特的实验并使用

length(unique(df$ID))==nrow(df)

n_occur<-data.frame(table(df$ID))

我知道我的 327 行有重复的 ID,其中一些 ID 重复了多次。我正在尝试合并具有相同 ID 的行,因为这些行不是重复的,而只是给定实验中的第二个、第三个等观察结果。

例如,如果我有

x y ID
1 2 a
1 3 b
2 4 c
1 3 d
1 4 a
3 2 b
2 3 a

我想结束

x y ID x2 y2 ID2 x3 y3 ID3
1 2 a  1  4  a   2  3  a
1 3 b  3  2  b  na na na
2 4 c  na na na na na na
1 3 d  na na na na na na

我见过关于 SQL 和 php 的类似问题,但这对我在 R 中的尝试没有帮助。任何帮助将不胜感激。


您可以使用增强型dcast函数从数据表 /questions/tagged/data.table包,您可以在其中选择多个值变量。和setDT(mydf)您将数据框转换为数据表并使用[, idx := 1:.N, by = ID]您通过以下方式添加索引ID您随后将在dcast公式:

library(data.table)
dcast(setDT(mydf)[, idx := 1:.N, by = ID], ID ~ idx, value.var = c("x","y"))

或者与的开发版本数据表 (v1.9.7+) https://github.com/Rdatatable/data.table/wiki/Installation,您可以使用新的rowid功能:

dcast(setDT(mydf), ID ~ rowid(ID), value.var = c("x","y"))

gives:

   ID x_1 x_2 x_3 y_1 y_2 y_3
1:  a   1   1   2   2   4   3
2:  b   1   3  NA   3   2  NA
3:  c   2  NA  NA   4  NA  NA
4:  d   1  NA  NA   3  NA  NA

使用数据:

mydf <- structure(list(x = c(1L, 1L, 2L, 1L, 1L, 3L, 2L), y = c(2L, 3L, 
4L, 3L, 4L, 2L, 3L), ID = structure(c(1L, 2L, 3L, 4L, 1L, 2L, 
1L), .Label = c("a", "b", "c", "d"), class = "factor")), .Names = c("x", 
"y", "ID"), class = "data.frame", row.names = c(NA, -7L))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

合并具有相同 ID 变量的行[重复] 的相关文章

  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 使用点阵个性化 R 上显示的 X 轴值

    我收集了大量包含日期 客户端及其 NFS 使用情况的数据 我正在使用lattice R包进行绘图 正如对超级用户的建议 https superuser com questions 523195 plot custom log data on
  • 将维基百科中的表格加载到 R 中

    我正在尝试从以下 URL 将最高法院法官表加载到 R 中 https en wikipedia org wiki List of Justices of the Supreme Court of the United States http
  • R 改变构面的顺序

    我正在尝试将方面的顺序从 BA SLG 更改为 SLG BA 我发现了与此类似的问题 但我认为我的解决方案可能不起作用 因为我已经在Excel中汇总了数据 因此 我的数据框可能会有所不同 无论如何 我尝试实现这个但无济于事 df2 lt f
  • R - 基于列名称的子集

    我的数据框有超过 120 列 变量 我想根据列名称创建子集 例如 我想创建一个子集 其中列名称包含字符串 心情 这可能吗 我一般用 SubData lt myData grep whatIWant colnames myData 我很清楚
  • 在 R 上安装 TDA 包时出错:目标“diag.o”的配方失败

    使用 Ubuntu 16 04 和 R 3 4 1 安装 R 包 TDA 时收到错误消息 它似乎与制作 CGAL diag cpp 和 或 diag o 最后的完整错误打印输出 有关 我仔细看了这个 在 R 上安装 TDA 包时出错 htt
  • 在 Google Colab 上的 R 笔记本中安装 python 库

    我正在尝试在 Google Colab 上的 R 笔记本中安装 python 库 为此我使用 reticulate 包 library reticulate py install pandas 但我得到的结果是这个错误 Error coul
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • 是否有weighted.median()函数?

    我正在寻找类似形式的东西weighted mean 我通过搜索找到了一些解决方案 这些解决方案写出了整个函数 但希望有一些更用户友好的解决方案 以下软件包都有计算加权中位数的函数 aroma light isotone limma cwhm
  • 更改ggplot2中的字体

    曾几何时 我改变了我的ggplot2字体使用windowsFonts Times windowsFont TT Times New Roman 现在 我无法摆脱这一切 在尝试设置family in ggplot2 theme 当我用不同的字
  • 斯皮尔曼相关性和联系

    我正在一小组配对排名上计算斯皮尔曼的 rho 斯皮尔曼因处理领带不当而闻名 例如 取2组8个排名 即使两组中有6个是平局 相关性仍然很高 gt cor test c 1 2 3 4 5 6 7 8 c 0 0 0 0 0 0 7 8 met
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d
  • rpart 决策树中的 rel 误差和 x 误差有什么区别? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个来自 UCI 机器学习数据库的纯分类数据框https archive ics uci edu ml datasets Diabet
  • php递归合并

    我需要以某种不同的方式合并一些数组 我使用 array merge recursive 然而 有一些事情我需要改变 但我不知道如何改变 这是来自 php net 的引用 但是 如果数组具有相同的数字键 则后面的值 不会覆盖原始值 但会追加
  • 使用行内 r 代码作为 R markdown 标头的一部分

    我希望使用行 R 代码作为 r markdown 文件中标头的一部分 然而 当我编织文件时 标题上使用的字体是不同的 如何确保字体相同 下面是一个简单的例子 r 1 1 Header 您可以将内容括在反引号中以表示内联 r 代码 如下所示
  • tidyverse - 将命名向量转换为 data.frame/tibble 的首选方法

    使用tidyverse我经常面临将命名向量转换为向量的挑战data frame tibble列是向量的名称 执行此操作的首选 tidyverse 方式是什么 编辑 这与 this https github com hadley dplyr
  • 文件错误(文件,“rt”):complete.cases 程序中的“描述”参数无效

    我正在编写一个 R 函数 该函数读取充满文件的目录并报告每个数据文件中完全观察到的案例的数量 该函数返回一个数据框 其中第一列是文件名称 第二列是完整案例数 such as id nobs 1 108 2 345 etc 这是我写的函数 c
  • autoplot.microbenchmark 实际绘制了什么?

    根据文档 microbenchmark autoplot 使用 ggplot2 生成更清晰的微基准计时图 凉爽的 让我们尝试一下示例代码 library ggplot2 tm lt microbenchmark rchisq 100 0 r
  • 函数速度测试的奇怪结果

    我编写了一个使用递归来查找最大公因数 分母 的函数 gt gcd function a b if length a length b gt 1 warning Only scalars allowed using first element

随机推荐

  • 双重比较零特殊情况?

    我正在初始化一个双数组 double foo new double n 我的理解是java语言规范导致数组中的所有值都初始化为零 当我执行算法时 数组中的一些条目被设置为正值 因此 要检查特定元素是否设置了非零值 仅使用是否安全 if fo
  • 理解Linux目录权限推理

    您好 我有两个关于 linux 目录权限的问题 我不明白 我从名为 Documents 的文件夹中删除了执行标志 之后我无法在其上使用 cd 但我仍然可以从父目录执行 ls Documents 它仍然列出 Documents 目录中的文件
  • 由于 float 和 double 的精度有限而导致的错误

    在C 中 我使用以下代码来计算由于float和double的精度有限而导致的误差的数量级 float n 1 float dec 1 while n n dec dec dec 10 cout lt lt dec lt lt endl 在
  • 使用 pelican-quickstart 时出错“没有名为 html_parser 的模块”

    我决定给予pelican尝试一下 但是当我跑步时pelican quickstart 我收到以下对话框 pelican quickstart Traceback most recent call last File usr local bi
  • 仅针对具有枚举非类型模板参数的 C++ 模板函数的特化

    这个问题与this one https stackoverflow com questions 2155491 hide function template declare specializations除了处理类型名模板参数之外 我尝试使
  • jquery ui datepicker后退按钮跳转到1899

    我一定是缺少某些设置或其他内容 但是当我使用后退按钮时 日期选择器会从当前年份跳转到 1899 年 有其他人看到这个并修复它吗 你可以看到我注释掉的不同组合 dialog search from datepicker defaultDate
  • 如何获得“nls”对象的漂亮乳胶输出

    我需要 nls 对象的 LaTex 表示 不幸的是 stargazer 不支持这种对象类型 网上的一些研究使我从 nls2 库中找到了 as lm nls 函数 它声称将 nls 对象转换为相应的 lm 对象 就我而言 它惨遭失败 以下是示
  • 对组中的浮点数列表进行排序

    我有一个浮点数数组 它是无序的 我知道这些值总是落在几个未知的点附近 为了便于说明 此列表 10 01 5 001 4 89 5 1 9 9 10 1 5 05 4 99 值集中在 5 和 10 附近 所以我想要 5 10 作为答案 我想找
  • 修改 htmlpurifier 允许的标记

    我的 html 净化器设置现在只允许这些标签 configuration gt set HTML Allowed p ul ol li 我想允许列表缩进 我的编辑器使用这个 html ul style margin left 40px 我应
  • android studio新建项目看不到src文件夹

    重新安装 android studio 后 我创建了一个新项目 MyapplicationProject 在 Windows 资源管理器中我看到所有文件夹 MyapplicationProject Myapplication libs sr
  • 在XSLT中声明全局变量,在本地重新赋值

    我可以在全局范围内声明一个值为 111 的变量 myVariable 但如何在本地重新赋值呢 或者有其他方法可以实现这一目标 请帮忙 谢谢 拉维 您可以在模板内重新定义相同的变量
  • “QwtLog10ScaleEngine”之前需要类型说明符吗?

    版本 qwt 6 0 1 我尝试开发频谱的对数缩放 我使用简单的线条来启用缩放plotspectrum gt setAxisScaleEngine QwtPlot yLeft new QwtLog10ScaleEngine 问题 数据未绘制
  • 如何在 Mac OS X 中生成核心转储?

    我似乎无法在 Mac OS X 10 6 8 中生成核心转储 ulimit c unlimited a out Hello world Segmentation fault find type f name core ls la cores
  • 如何在 java 中使用 Apache POI XWPF 将图片添加到 .docx 文档

    我使用 Java POI 3 7 创建了一个简单的 docx 文档 XWPF 然后 我添加了一张图片 使用该方法XWPFDocument addpicture byte arg0 int arg1 XWPFDocument docx new
  • 使用 NodeJS 和 node-formidable 上传文件

    我使用node js和强大的模块成功上传文件 保存在磁盘上的文件格式错误 编码错误 例如如果我上传图像我无法查看它 如果我上传 txt 文件 gedit 提供以下消息 gedit 无法检测到字符编码 请检查您是否没有尝试打开二进制文件 从菜
  • HSQLDB 语句和 Java NaN 双精度

    我目前正在使用 HSQLDB 来保存 java 数据 在这些数据中 有一些 Double 其中一些可以是以下值 NaN 被形容为0 0 0 0在 javadoc 中 HSQLDB 知道如何处理这些值setDouble and setFloa
  • 如果语句和大括号..有/没有不同的结果

    好吧 我正在学习 C 在使用其中一个教程时遇到了一种奇怪的效果 但我不太明白它发生的情况 对于本教程 从提供的示例中复制 我在类模板专业化中编写了一个函数 用于检查 char 是否为小写 然后将其变为大写 char uppercase ch
  • React js中的条件渲染(多条件内的条件)

    其实我正在尝试hide and show一些 html 元素react 我创建了一个员工表单 其中有多个分区 例如个人信息 联系信息等 我在表单中创建了下一个和上一个按钮来显示和隐藏表单中的其他分区 有一个分区需要填写教育详细信息 因此我选
  • 如何处理JodaTime和Android的时区数据库差异?

    我想扩展我在 Reddit Android 开发社区开始的讨论昨天 http www reddit com r androiddev comments 320rz5 im convinced jodatime is not a good l
  • 合并具有相同 ID 变量的行[重复]

    这个问题在这里已经有答案了 我在 R 中有一个数据帧 包含 38 个变量的 2186 个 obs 行有一个 ID 变量 引用独特的实验并使用 length unique df ID nrow df n occur lt data frame