如何在R中组合多个数据框列

2024-02-07

我有一个 .csv 文件,其中包含参与者的人口统计数据。数据是从我的研究数据库 (REDCap) 中编码和下载的,每个种族都有自己单独的列。也就是说,每个参与者在每一列中都有一个值(如果认可则为 1,如果未认可则为 0)。

它看起来像这样:

SubjID  Sex  Age  White  AA  Asian  Other

 001    F    62   0      1   0      0
 002    M    66   1      0   0      0

我必须使用迂回的方式来获取我的人口统计摘要统计数据。必须有一种更简单的方法来做到这一点。我的问题是,如何将这些列合并为一列,以便每个参与者只有一个比赛值? (即重新编码,1 = 白色,2 = AA 等,并且仅为每个参与者提取认可的类别并将其添加到此列?)

这就是我希望它看起来的样子:

SubjID  Sex  Age  Race

001     F    62   2
002     M    66   1


这或多或少类似于我们使用来自 REDCap 的类似数据的方法。我们用pivot_longer对于虚拟变量。决赛Race变量也可以成为一个因素。请告诉我这是否是您的想法。

Edit: Added names_ptypes to pivot_longer表明Race变量是一个因素(而不是mutate).

library(tidyverse)

df <- data.frame(
  SubjID = c("001", "002"),
  Sex = c("F", "M"),
  Age = c(62, 66),
  White = c(0, 1),
  AA = c(1, 0),
  Asian = c(0, 0),
  Other = c(0, 0)
)

df %>%
  pivot_longer(cols = c("White", "AA", "Asian", "Other"), names_to = "Race", names_ptypes = list(Race = factor()), values_to = "Value") %>%
  filter(Value == 1) %>%
  select(-Value)

Result:

# A tibble: 2 x 4
  SubjID Sex     Age Race 
  <fct>  <fct> <dbl> <fct>
1 001    F        62 AA   
2 002    M        66 White
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在R中组合多个数据框列 的相关文章

  • 在 R 中查找 Windows 用户名

    有没有办法在 R 会话中获取当前的 Windows 用户名或 Windows 主目录 Thanks 抱歉 如果我错过了什么 但我找不到任何东西 你可以做 Sys getenv USERNAME Sys getenv HOME 如果你只是输入
  • 如何查找 pandas 数据框中连续相同字符串值的计数?

    假设我们有以下 pandas 数据框 df pd DataFrame col1 A gt G C gt T C gt T G gt T C gt T A gt G A gt G A gt G col2 TCT ACA TCA TCA GCT
  • 在另一个函数中定义一个函数的优雅方式

    我想构建 f lt function g lt function x x 2 list 这样我就可以使用调用f g 4 并有list 导致list 16 一般来说我会在里面定义几个临时函数f用户在调用时可以调用f 我已经尝试过assign
  • 将儒略日期转换为 PosixCt 日期

    我发现自己在解决这个问题 我需要将 R 中的儒略日期转换为正常日期 YYYY MM DD 我知道我可以指定as Date julian date origin 但我不知道应该提供哪个来源 我的朱利安日期类似于 2458010 2458011
  • 使用 data() 的 R 包命名空间问题 -- 找不到数据集

    我在尝试在我自己的包中导入包 即 robfilter 时遇到了问题 我尝试使用它的方法之一 adore filter 在这一行失败 data critvals 出现错误 未找到数据集 critvals 如果我通过 require robfi
  • R 中带有变音符号的字符列表

    我试图将字符串中的电话 字符 出现次数制成表格 但变音符号单独作为字符制成表格 理想情况下 我有一个国际音标的单词列表 其中包含大量变音符号以及它们与基本字符的几种组合 我在这里给出了仅包含一个单词的 MWE 但对于单词列表和更多类型的组合
  • Sweave + RweaveHTML:cat 输出未出现在输出中

    我对 Sweave RweaveHTML 有疑问 我希望 cat 的输出最终出现在正在生成的 html 文件中 我有一个案例 它没有 我不明白为什么 test function bla bla cat Result is 然后在 Rnw 文
  • 在前两个冒号上分割字符串

    我想在前两个冒号上拆分一列字符串 但不在任何后续冒号上拆分 my data lt read table text my string some data 123 34 56 78 100 87 65 43 21 200 a4 b6 c888
  • R中不重复的组合

    我试图获取变量元素长度为 3 的所有可能组合 虽然它部分地与combn 一起工作 但我没有完全得到我正在寻找的输出 这是我的例子 x lt c a b c d e t combn c x x 3 我得到的输出看起来像这样 1 2 3 1 a
  • R 比较所有列对的每个值[重复]

    这个问题在这里已经有答案了 我有一个 18x18 的数据框 我想将所有可能的列对相互比较 以便对于每对两列 18 行中的值相互比较 由于我的数据太大 无法放在这里 我写了一个小例子来说明到目前为止我所想到的 gt a lt c 1 18 g
  • R中的引用调用(使用函数修改对象)

    我刚刚接触 R 很惊讶地发现函数不会修改对象 至少看起来这是默认的 例如 我编写了一个函数 只是为了在表格中的一个标签上粘贴一个星号 它在函数内部工作 但表本身没有改变 我主要来自Ruby 那么 在 R 中使用函数更改对象的正常 可接受的方
  • 将数据框中的 1 列拆分为 2 列 [重复]

    这个问题在这里已经有答案了 这是我的数据框 gt data Manufacturers 1 Audi RS5 2 BMW M3 3 Cadillac CTS V 4 Lexus ISF 所以我想将制造商和型号分开 就像这样 gt data
  • JavaScript 中 + 运算符和 concat() 方法有什么区别

    The 加 运算符 and String concat 方法给出相同的结果 加 运算符 str1 str2 字符串 concat 方法 str1 concat str2 另外 它写在w3学校 http www w3schools com j
  • 将整数“20160119”转换为“日”“年”“月”的不同列

    如何将一列整数转换为日期 DATE PRCP 1 19490101 25 2 19490102 5 3 19490118 18 4 19490119 386 5 19490202 38 到这样的表 days month years PRCP
  • R - 对矩阵的每行/列应用具有不同参数值的函数

    我试图将函数应用于矩阵的每一行或每一列 但我需要为每一行传递不同的参数值 我以为我熟悉 lapply mapply 等 但可能还不够 举个简单的例子 gt a lt matrix 1 100 ncol 10 gt a 1 2 3 4 5 6
  • R 如何按行值进行分组、拆分或子集

    这是上一个问题的延续R 如何按行值分组 分裂 https stackoverflow com questions 64602607 r how to group by row value split 输入数据帧的变化是 id str c x
  • 在 Microsoft Windows 上安装 RQuantLib

    我需要安装R包RQuantLib在 Microsoft Windows 计算机上 这个包没有二进制文件 所以我下载了 tar 源 我打开它 它包含 QuantLib C 库 所以我需要编译这个包 我不想安装 Visual Studio 我使
  • 寻找一种有效的方法来计算两个表中间隔集之间的重叠数量?

    注意 为了方便起见 我使用上一篇文章中的示例数据集 假设有两个数据集 ref and map 他们是 ref lt data table space rep nI 3 t1 c 100 300 500 t2 c 150 400 600 id
  • 按元素名称组合/合并列表

    我有两个列表 其元素的名称部分重叠 我需要将其逐个元素合并 组合成一个列表 gt lst1 lt list integers c 1 7 letters letters 1 5 words c two strings gt lst2 lt
  • R 版本 4.0.0 上的 ROracle

    当尝试使用 ROracle 时 我收到以下错误消息 gt library ROracle Error package or namespace load failed for ROracle package ROracle was inst

随机推荐

  • php函数所需参数混淆

    我正在寻找 a 的确切类型Required Parameter在 PHP 函数签名中 仅使用 NULL 初始化参数是否使其成为可选参数 IE function foo optional NULL OptionalOrRequired Opt
  • 如何在 Swift 中访问括号中嵌套的 JSON?

    我有一个位于括号中的 JSON 响应 并且我很难访问内部字段 例如使用 Swift 显示名称 我怎样才能做到这一点 Optional result user display name Max Test email email protect
  • 如何在bash中找到可用的可执行文件

    我编写了这个小脚本来查找作为参数传递的可执行文件 例如 testexec du ls md 如何让脚本不输出未找到的命令 例如不显示 md 命令的错误输出 bin sh for filename in do which filename d
  • 如何保护 JSF 2.0 Facelets 免遭直接访问?

    我找到了一个想法here http old nabble com how to prevent direct access to jsf pages td16807991 html 将文件放在 WEB INF 下是阻止直接访问的一种方法 使
  • mutable.Map 中 withDefaultValue 的行为

    谁能解释可变映射中的默认值如何工作 scala gt val mmap mutable Map String mutable Set String withDefaultValue mutable Set String mmap scala
  • 如何查看HSQLDB数据库中的所有表?

    我通常使用 SQLDeveloper 浏览数据库 但我无法使其与 HSQLDB 一起使用 而且我不知道已经创建了哪些表 我想这是一个特定于供应商的问题 而不是普通的 SQL 但重点是 我如何才能看到这些表 以便删除 更改它们 用于查询数据库
  • SSL 错误:无法获取本地颁发者证书

    我在 Debian 6 0 32 位服务器上配置 SSL 时遇到问题 我对 SSL 还比较陌生 所以请耐心等待 我将尽可能多地提供信息 注 真实域名已更改 以保护服务器的身份和完整性 配置 服务器正在使用 nginx 运行 它的配置如下 s
  • 如何衡量 Ionic 3 应用程序的性能?

    我使用 Ionic 3 框架开发了一个应用程序 我想测量我的应用程序的 CPU 和内存使用情况 这样做的最佳做法是什么 You must not use AndroidStudio and XCode来测量内存使用情况离子应用程序 Why
  • 包裹物品之间的 Flex Row 空间

    拥有任意数量的行和任意数量的项目并在所有项目之间设置边距的最动态方式是什么 现在唯一对我有用的就是将每个项目包装在包装器中 将弹性基础设置为包装器并将边距设置为子项 这样做的问题是我无法使每行与该行中最高内容的高度相同 Case 1 Onl
  • 为什么 Azure 资源组与特定区域关联?

    我是 Azure 架构的新手 我试图理解为什么 Azure 资源组 在 Azure 上构建的应用程序的逻辑部署存储桶 在定义时与区域相关联 起初我以为它是为了灾难恢复或地理冗余提供全球分布 但后来我意识到单个资源组可以包含不同区域的Web应
  • 如何在JW播放器中添加自定义提示点

    假设我有一系列以秒为单位的时间 var points 5 30 50 因此 当 jw 播放器初始化时 我想读取这个数组 然后在时间轴上放置提示点 标记 一旦搜索栏到达提示点 我想调用一个执行某些操作的自定义函数 Jw 的文档非常简单 但我发
  • 无法在 Emacs 中启动 `lein` REPL

    在 Emacs 中 使用时clojure mode 我应该能够启动 REPLC c C z 但每当我尝试时 我都会收到错误 Searching for program no such file or directory lein I hav
  • 删除Git lfs链接到文件并直接添加到git

    我需要删除 Git LFS 文件指针 并将文件直接添加到 Git 我在 gitattributes 中有一个过滤器来匹配某些文件 test py filter lfs diff lfs merge lfs text 如何修改它以从此模式中排
  • 如何将 Terser 与 webpack 结合使用

    我在用网页包 6 10 2 with Vue 3 9 3 此安装使用 Uglify js 当我运行时会引发错误npm run build因为它不能与 ES6 一起工作 为了解决这个问题 我删除了 Uglify 表单webpack confi
  • Mac/Cocoa:在我的应用程序中嵌入终端窗口

    有人发现是否可以将终端实例 嵌入 到应用程序中 如果它也继承了选项卡功能和拖放功能 那就太棒了 我在这里看到了几个类似的问题提到iTerm http iterm sourceforge net 但似乎应该有一个更简单的方法 就像 NSTer
  • RxJava:结合冷热观察来相互等待

    我的可观察量是这样定义的 val initLoading Observable fromCallable println System currentTimeMillis subscribeOn Schedulers computation
  • 等待 selenium 中的特定 URL

    我需要在 Chrome 浏览器中使用 Selenium 等待网站自动化中的特定 URL 用户将在我们的网站上进行在线支付 从我们的网站 用户被重定向到支付网关 当用户完成支付后 网关将重定向到我们的网站 我想收到从网关到我们网站的重定向通知
  • CMS编辑方案

    我只是想知道是否有一些方案是编辑 CMS 如 Wordpress Joomla 等 的正确方法 正确步骤 我所说的编辑是指 css javascript 到目前为止 我所做的方法是创建 custom css 和 custom js 等文件
  • 我可以在 React 应用程序中但在 React 组件之外安全地执行 DOM 操作吗?

    我正准备做我的第一个 React 项目 我的阅读已经很清楚地表明我需要让 React 处理所有使用虚拟 DOM 的渲染 并且我不应该执行任何会干扰虚拟 DOM 计算 然而 我无法弄清楚的是 假设我在包含其他 HTML 的页面中的 div a
  • 如何在R中组合多个数据框列

    我有一个 csv 文件 其中包含参与者的人口统计数据 数据是从我的研究数据库 REDCap 中编码和下载的 每个种族都有自己单独的列 也就是说 每个参与者在每一列中都有一个值 如果认可则为 1 如果未认可则为 0 它看起来像这样 SubjI