R:熔化和铸造

2023-11-29

我有一个这样的数据集:

CASE_ID = c("C1","C1", "C2","C2", "C2", "C3", "C4") 
PERSON_ID = c(1,0,7,8,1,20,7) 
PERSON_DIVISION = c("Zone 1", "NA", "Zone 1", "Zone 3", "Zone 1", "Zone 5", "Zone 1") 
df <- data.frame(CASE_ID, PERSON_ID, PERSON_DIVISION)  
df

结果是:

CASE_ID PERSON_ID PERSON_DIVISION
1      C1         1          Zone 1
2      C1         0              NA
3      C2         7          Zone 1
4      C2         8          Zone 3
5      C2         1          Zone 1
6      C3        20          Zone 5
7      C4         7          Zone 1

我想把它改成:

CASE_ID P1_ID  P2_ID  P3_ID  P1_Division  P2_Division   P3_Division
1       1       0     NA        Zone 1      NA           NA
2       7       8     1         Zone 1      Zone 3      Zone 1
3       20      NA    NA        Zone 5      NA          NA
4       7       NA    NA        Zone 1      NA          NA

到目前为止,我的方法是融合数据和后来的 Dcast:

e <- melt(df)

dcast(e, CASE_ID  ~ PERSON_DIVISION + variable)

但我没有得到所需的输出,而是得到:

CASE_ID NA_PERSON_ID Zone 1_PERSON_ID Zone 3_PERSON_ID Zone 5_PERSON_ID
 1      C1            1                1                0                0
 2      C2            0                2                1                0
 3      C3            0                0                0                1
 4      C4            0                1                0                0

这里有两个问题:

  1. 您的数据已经是长格式,但您有two值列。最新版本data.table支持多个值变量dcast().
  2. 每个组中都需要唯一的行 ID。否则,dcast()将尝试聚合重复项(使用length()默认情况下,这解释了你得到的输出)。

请尝试

library(data.table)   # version 1.10.4 used here
# coerce to data.table, add unique row numbers for each group
setDT(df)[, rn := rowid(CASE_ID)]
# dcast with multiple value vars
dcast(df, CASE_ID ~ rn, value.var = list("PERSON_ID", "PERSON_DIVISION"))
#   CASE_ID PERSON_ID_1 PERSON_ID_2 PERSON_ID_3 PERSON_DIVISION_1 PERSON_DIVISION_2 PERSON_DIVISION_3
#1:      C1           1           0          NA            Zone 1                NA                NA
#2:      C2           7           8           1            Zone 1            Zone 3            Zone 1
#3:      C3          20          NA          NA            Zone 5                NA                NA
#4:      C4           7          NA          NA            Zone 1                NA                NA

这可以更简洁地写成一行:

dcast(setDT(df), CASE_ID ~ rowid(CASE_ID), value.var = list("PERSON_ID", "PERSON_DIVISION"))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R:熔化和铸造 的相关文章

  • rvest 和 NHL 统计数据的 CSS 选择器问题

    我想从 hockey reference com 中抓取数据 特别是从以下链接中抓取数据 https www hockey reference com leagues NHL 1991 html https www hockey refer
  • 如何绘制每条线之间具有特定距离的图形

    实际上 我尝试绘制一个图形 但它将所有列 线 放在一起并显示 因此它不具有代表性 我尝试制作模拟数据并向您展示我如何绘制它 并向您展示我想要的内容 我不知道如何制作像下面所示的示例的数据 但我在这里做了什么 set seed 1 M lt
  • R中整数类和数字类有什么区别

    我想先说我是一个绝对的编程初学者 所以请原谅这个问题是多么基本 我试图更好地理解 R 中的 原子 类 也许这适用于一般编程中的类 我理解字符 逻辑和复杂数据类之间的区别 但我正在努力寻找数字类和整数类之间的根本区别 假设我有一个简单的向量x
  • 如何在 R 中绘制一列与其余列的关系图

    我有一个数据集 其中 1 是时间 接下来的 14 个是幅度 我想在一张图表上散布所有大小与时间的关系 其中每个不同的列都是网格化的 分层在另一个之上 我想使用原始数据来制作这些图表 并单独制作它们 但只想执行此过程一次 数据集A 唯一的自变
  • 读取R中打开的Excel文件

    有没有办法将打开的Excel文件读入R 当Excel中打开一个excel文件时 Excel会对文件加锁 比如R中的read方法无法访问该文件 你能绕过这个锁吗 Thanks 编辑 这发生在带有原始 Excel 的 Windows 下 发生错
  • 排序因素与水平

    有人能解释一下 R 中 ordered 参数的用途吗 R says ordered逻辑标志来确定级别是否应被视为有序 按给定的顺序 所以如果我有一个名为名称的因素并设置ordered TRUE names lt factor c fred
  • 当有很多列时,使用 readr::read_csv() 导入数据时覆盖列类型

    我正在尝试使用 R 中的 readr read csv 读取 csv 文件 我导入的 csv 文件大约有 150 列 我只包含示例的前几列 我希望将第二列从默认类型 我执行 read csv 时为日期 覆盖为字符或其他日期格式 GIS Jo
  • RStudio 如何确定控制台宽度,为什么它似乎总是出错?

    我刚刚发现wid lt options width在 RStudio 中 它似乎是我日常控制台使用中令人烦恼的根源 或者更确切地说 更接近根源 我应该先说一下 我目前使用的是 R 3 2 2 RStudio 0 99 491 Linux M
  • 从 df 中提取具有两列的重叠行对

    我想找出这两个表之间哪些对重叠 gt dput data1 structure list Name x c MDH1 MDH1 IDH2 IDH2 IDH2 IDH2 IDH2 IDH2 IDH2 SCOALB SCOALB CSY4 CS
  • 使用大矩阵操作

    我必须使用 big matrix 对象 并且无法计算某些函数 让我们考虑以下大矩阵 create big matrix object x lt as big matrix matrix sample 1 10 20 replace TRUE
  • 删除字符串末尾的句点和数字

    如何删除尾随句点 后面紧跟一个数字 长度为一位或两位数字 例子 z lt c awe p 56 red 45 ted 5 you 88 tom 我只想删除 45和 5 你只需要一个简单的正则表达式 z new gsub 0 9 z 一些评论
  • 将第 N 行上的 NA 行插入 data.frames 列表,其中 N 来自列表

    经过几个小时后 我发现自己无法解决以下问题 我有一个数据框列表 我想分别向每个 DF 插入 而不是替换 一行或多行 NA 始终至少一行 要插入的 NA 数量存储在单独的列表中 为了说明这一点 我有以下两个列表 list of datafra
  • 使用字符串中的变量名称访问变量值,R

    Intro 一个数据集有大量的age year变量 age 1990 age 1991 etc 我有一个字符串值数组length age years 表示这些变量 使得age years 1 回报 age 1990 etc Need 我想搜
  • 如何添加链接以从我的 R闪亮应用程序在新窗口中打开 pdf 文件?

    我可以使用 a 从我的 Shiny 应用程序添加到外部站点的超链接 a google href http www google com 但如何创建一个链接来打开 pdf 或类似 文件 看起来应该很简单 但我找不到任何例子 我的问题与此类似
  • 无法更新/编辑从 R 中的包(`gratia`)导出的 ggplot2 对象

    我希望我在这里遗漏了一些令人痛苦的明显的东西 我希望更新 例如 修复标题 实验室等 由 生成的 ggplot 对象gratia draw 不太确定为什么我无法更新该对象 有一个简单的解决方案吗 devtools install github
  • 如何在 Caret 中绘制随机森林(护林员)树

    我生成了如下所示的随机森林树 并尝试绘制它 但出现错误 我在哪里犯了错误 我怎样才能以正确的方式绘制它 Actmodel lt train Activity Section Author data CB1 method ranger trC
  • R 中两个时间戳之间的左连接

    我的目标是执行左连接intervals哪里的bike id比赛和created at时间戳在records在 之间start and end in the intervals table gt class records 1 data ta
  • R 闪亮仪表板中的动态重复条件面板

    我正在尝试创建一个动态条件面板 所以我的条件如下 在用户界面中输入 selectInput inpt Input Number seq 1 50 1 selectize FALSE 我的条件面板 UI 输入是 conditionalPane
  • 警告消息 - 来自 dummies 包的 dummy

    我正在使用 dummies 包为分类变量生成虚拟变量 其中一些变量具有两个以上类别 testdf lt data frame A as factor c 1 2 2 3 3 1 B c A B A B C C C c D D E D D E
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我

随机推荐

  • PHP 和 XML。使用 PHP 循环 XML 文件

    我现在正陷入 foreach 炼狱中 试图想出一种用 PHP 遵循 XML 文件内容 遍历这个 XML 文件 下面的实际 XML 文本 的方法 我想做的是 获取所有文件夹元素名称 如果文件夹元素的子文件夹属性为 yes 则向下移动一级并获取
  • 在 Google Compute Engine 上从没有公共 IP 的计算机路由到互联网

    在 Google Compute Engine 上 我们有没有公共 IP 的机器 因为配额限制了可以拥有公共 IP 地址的机器数量 我们需要这些非公共 IP 机器来访问 Google 存储桶中的数据 这似乎意味着我们必须路由到互联网 但我们
  • 使用 ImageMagick 对图像进行平等测试

    ImageMagick 库中有相等谓词函数吗 我想比较两个图像并找出它们是否完全相同 像素的所有颜色都相同 或有任何差异 我查了一下 好像没有这个功能 我应该自己使用像素迭代器编写函数吗 ImageMagick 提供compare功能来正确
  • 如何在不同的目录中启动 npm?

    我通常cd进入app目录然后运行npm start 我的感觉应该是有什么办法可以跑npm start带有路径参数 但是 npm 启动文档不包含这样的功能 我尝试自己却发现npm start myapp不起作用 有没有办法做到这一点 这一行应
  • 如何在 Angular 8 中将下拉列表(带选项)从 JSON 导出到 Excel?

    我正在尝试将 JSON 数据导出到具有下拉列表的 Excel 如果我们将数组作为单元格值传递 是否可以在 Excel 中创建下拉菜单 带选项 我正在尝试使用内置库 XLSX 来实现此目的 但如果我在单元格值中传递数组 则无法查看数据 更新
  • 如何知道一个StorageFolder-obj属于SD还是Phone?

    有没有办法知道 StorageFolder obj 属于 SD 或 WP8 1 上的手机 感谢您 例如 您可以通过检查Path of StorageFolder or StorageFIle string folderPath yourSt
  • 如何在jsPDF生成的PDF中添加水印?

    我正在从canva 生成PDF 并使用jsPDF 生成它 https github com MrRio jsPDF 这是我正在使用的代码 我想将水印添加到页面中 有人能帮我吗 self downloadCanvasObjectAsPDF f
  • 导入错误:没有名为 requests 的模块

    我知道有很多关于此的帖子 并且我尝试使用提供的解决方案 但无济于事 我试过pip install requests and pip install requests upgrade pip install requests upgrade
  • 没有标签的“for”属性的自定义复选框(Bootstrap 4)

    有没有办法仍然保留 Bootstrap 4 自定义复选框样式不使用 the id关于输入和属性for标签上 当您删除它时 检查的样式不存在 Example div class custom control custom checkbox m
  • 使用 jQuery 以像素为单位的填充或边距值作为整数

    jQuery 具有 height 和 width 函数 它们以整数形式返回像素的高度或宽度 如何获取元素的填充或边距值以像素和整数为单位使用 jQuery 我的第一个想法是执行以下操作 var padding parseInt jQuery
  • 需要帮助将格式 20120130 的日期转换为日期数据类型 oracle sql

    您能帮我将日期从 20120101 格式转换为 Orcle Sql 中的 DATE 格式吗 我看了这个link但它没有提到日期格式是否是自定义的 编辑 是否可以将任何排除规则写入转换函数 像这样的 99999999 到 9999 12 31
  • Firefox 浏览器不会重新加载更新的 CSS/JS 文件

    我在 Firefox 浏览器中遇到问题 因为每次更新 CSS 或 JS 文件时 我都需要清除 Firefox 浏览器的缓存才能获取更新的文件 我使用 XSP2 服务器是因为我在 ubuntu 中使用 C 和 asp net 开发了我的 we
  • Java真的很慢吗?

    Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 Java有在某种程度上因缓慢而闻名 Java真的很慢吗 如果是 为什么 瓶颈在 或曾经 在哪里 是因为 JVM 效率低下吗 垃圾收
  • array_unique() 是否通过引用修改其数组?

    我使用后array unique 在数组上 当我var dump 数组 它仍然具有相同的内容 但有重复 array 21 0 gt string 10 tricou CRS 1 gt string 10 tricou CRM 2 gt st
  • C 调用约定和传递参数

    在 Linux 或 OS X 中进行函数调用时 被调用者可以修改堆栈上参数的值吗 我的假设是 由于调用者是清理它们的人 因此它们在函数调用后应该包含相同的值 但是我发现带有 O2 的 GCC 正在修改在堆栈上传递给它的参数 我还查找了包括
  • 为什么 openCV 的 fastNlMeansDenoisingColored() 给出错误?

    我是菜鸟openCV概念 所以如果我的问题很愚蠢 请原谅我 实际上我正在尝试应用Photo fastNlMeansDenoisingColored 方法 但我不明白为什么它会给出这样的错误 Code Mat tmp new Mat bitm
  • 将 R 中的参数传递给多个实数变量的函数

    我是 R 的新手 需要解决多目标优化问题 MOOP 我已经导入了 mco 包 定义了我的函数并检查了 nsga2 函数 问题是 当前者与数字变量匹配时 我还没有找到绑定函数定义中的参数 形式参数 和调用中的参数 实际参数 的正确方法 我有以
  • xampp 上的 LDAP 配置

    我一直在尝试在 xampp localhost 上配置 ldap 我在 php ini 文件中启用了 ldap 扩展 我也尝试过更改系统变量 我不断收到此错误 LDAP 功能不存在 加载模块 ldap php 模块或使用编译有 ldap 支
  • UITabBarController 仅显示其 UITabBar 的一半(屏幕外)

    当我从 UIViewController 呈现 UITabBarController 后 我的 UITabBar 没有完全显示 请你告诉我我做错了什么吗 我的代码是 some method LoggedInViewController lv
  • R:熔化和铸造

    我有一个这样的数据集 CASE ID c C1 C1 C2 C2 C2 C3 C4 PERSON ID c 1 0 7 8 1 20 7 PERSON DIVISION c Zone 1 NA Zone 1 Zone 3 Zone 1 Zo