R:如何按列删除重复行[重复]

2023-11-26

df <- data.frame(id = c(1, 1, 1, 2, 2),
                 gender = c("Female", "Female", "Male", "Female", "Male"),
                 variant = c("a", "b", "c", "d", "e"))
> df
  id gender variant
1  1 Female       a
2  1 Female       b
3  1   Male       c
4  2 Female       d
5  2   Male       e

我想根据以下内容删除 data.frame 中的重复行gender我的数据集中的列。我知道有人问过类似的问题(here)但这里的区别是我想删除数据集的每个子集中的重复行,其中每个子集由唯一的定义id.

我想要的结果是这样的:

  id gender variant
1  1 Female       a
3  1   Male       c
4  2 Female       d
5  2   Male       e

我已经尝试过以下方法并且它有效,但我想知道是否有更干净、更有效的方法来做到这一点?

out = list()
for(i in 1:2){
  df2 <- subset(df, id == i)
  out[[i]] <- df2[!duplicated(df2$gender), ]
}
do.call(rbind.data.frame, out)

df[!duplicated(df[ , c("id","gender")]),]

#     id  gender  variant
#  1   1  Female     a
#  3   1   Male      c
#  4   2  Female     d
#  5   2   Male      e

另一种方法是使用subset如下:

subset(df, !duplicated(subset(df, select=c(id, gender))))

#   id  gender variant
# 1  1  Female     a
# 3  1    Male     c
# 4  2  Female     d
# 5  2    Male     e
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R:如何按列删除重复行[重复] 的相关文章

  • 将列表中的列转换为 R 中的数据框

    我有使用 R 创建的以下列表 set seed 326581 X1 rnorm 10 0 1 Y1 rnorm 10 0 2 data data frame X1 Y1 lst lt replicate 100 df smpl lt dat
  • 查找数据帧列表中同一列中的所有重复值并将其转换为 NULL

    我有一个清单BELGIAN COAST list包含数百个数据帧 df1 df2 15 列 X 1000 行 每个数据帧的最后一列称为Chemicals并包含一些字符 例如Sulfate or Ammonia 但是这一列有很多行Chemic
  • 当每个记录都是一个段落并且某些记录有 4 个字段而其他记录有 6 个字段时,如何将文本文件读入 R

    如何读取文本文件 其中每条记录都是一个段落 每个换行符表示单独的字段 复杂的是 有些记录有 4 行 有些记录有 6 行 当字段数量的差异为 1 时 DWin 解决了我的问题 但当字段数量差异为 2 时 一切都崩溃了 你可以有一个在这里看看他
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 将函数应用于 3d 数组的每一层,返回一个数组

    假设您有一个包含行 列和层的 3 维数组 A lt array 1 27 c 3 3 3 想象你有一个函数 它接受一个矩阵作为输入并返回一个矩阵作为输出 就像t 如何将该函数应用于数组的每一层 返回与第一层大小相同的另一个数组 我觉得我应该
  • fread 将空导入为 NA

    我正在尝试导入带有空白的 csv 读取为 不幸的是他们都读作 NA now 为了更好地演示问题 我还展示了如何NA NA and 都映射到同一事物 除了最底部的示例 这将妨碍简单的解决方法dt is na dt lt gt write cs
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • 使用 R 进行项目组织 [重复]

    这个问题在这里已经有答案了 可能的重复 统计分析和报告撰写的工作流程 https stackoverflow com questions 1429907 workflow for statistical analysis and repor
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 在 R 中使用 Huggingface Transformer 模型

    我正在尝试在 R 中使用不同的 Huggingface 模型 这是通过 reticulate 导入 Transformer 包来实现的 谢谢 https rpubs com eR ic transfoRmers https rpubs co
  • 如何匹配 R 中的所有匹配项?

    我有 1000 个名字的列表 说A 我还有另外 5 个名字的清单 说B 我想找出这5个名字出现在1000个号码列表中的第几行 例如 Amy 在 A 中可以出现 25 次 B 里有艾米 我想知道 Amy 出现在 A 中的哪些行 我以前使用过
  • R 中的 Websocket

    我设法在 R 中建立到 Mtgox websocket 的连接 规格如下 url https socketio mtgox com mtgox Currency USD https socketio mtgox com mtgox Curr
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想
  • 捕获段错误、内存未映射错误

    我试图在 R 中找到 1347 x 209974 矩阵的列的相关性 每次我这样做 使用一个简单的命令cor matrix 我收到消息 caught segfault address 0xffffffffd058abf8 cause memo
  • 在多行中打印带有列名称的 R 数据框

    我有一个带有长列名称的 R 数据框 所以当我打印数据框时它太宽了 有没有一种简单的方法可以将数据框打印到屏幕上 并且列名出现在多行中 我知道我可以缩短名字 但我不想这样做 当奥斯卡的答案被接受时 我想这可能真的是一个答案 不幸的是 这只是复
  • 如何匹配R中列之间的多个对应值

    我有一个结构如下的数据框 ID Value1 Value2 1 a d g f 12 14 15 9 2 b c e 5 18 20 3 h i j 6 7 25 所以我有一个 ID 和两个值 对于值 1 有多个对应于值 2 的选项 我想最
  • R Tidytext 和 unnest_tokens 错误

    对 R 非常陌生 已经开始使用 tidytext 包 我正在尝试使用参数来填充unnest tokens函数 这样我就可以进行多列分析 所以而不是这个 library janeaustenr library tidytext library
  • R中将矩阵拆分为子矩阵的函数

    我有一个 16 行 12 列的矩阵 M 我想将其拆分为 16 个矩阵的数组 每个矩阵有 4 行 3 列 我可以通过以下方式手动完成 M matrix sample 0 127 16 12 replace TRUE c 16 12 ma1 M
  • ggplot2 可视化/显示中的地图错误?

    正如您在下面看到的 我使用 ggplots 制作的地图上存在一个奇怪的显示问题 任何投影似乎都会发生同样的问题 这是代码 仅包maps and ggplot2需要 mapWorld lt borders world colour gray5

随机推荐

  • 如何更改 WPF DataGridColumn 上的第一个排序方向

    现在 默认 当您单击用户可排序的标题时DataGridColumn它在第一次单击时按升序排序 在第二次单击时按降序排序 如何使其在第一次单击时降序排序 在第二次单击时升序排序 我想出了一种方法 不确定这是否是最好的方法 但基本上 当排序事件
  • 将文本中的 YouTube URL 替换为其 HTML 嵌入代码

    如果在字符串中找到此函数 则嵌入 YouTube 视频 我的问题是 仅捕获嵌入视频 iframe 如果有更多视频 则仅捕获第一个视频 并忽略字符串的其余部分的最简单方法是什么 function youtube string autoplay
  • 可以跨 APK 共享资源吗?

    是否可以跨 APK 共享资源 例如 应用程序 A 在 APK A 中 可以从应用程序 B 在 APK B 中 加载图标或布局视图吗 您可以利用获取应用程序资源 这样 只要您至少知道包名称以及要加载的资源的 id 或名称 您就可以从其他应用程
  • Rails will_paginate 自定义路线

    如何将 will paginate 与自定义路由一起使用 我的路线中有以下内容 map connect human readable name controller gt tags action gt show 但据我所知 will pag
  • Eclipse 中的 JavaCompiler 为空

    我的 Java 编译器出现一些错误 我在 Eclipse 之外没有收到错误 但它似乎只发生在 Eclipse Indigo 中 这不是必需的 但如果您有答案 我将非常感激 因为它将帮助我更轻松地调试和测试资源 谢谢您阅读此篇 E ToolP
  • Asp.net core Identity“INSERT语句与FOREIGN KEY约束冲突”

    我使用 ASP NET CORE Identity 创建 ASP NET CORE 应用程序 我创建种子类来保存首次启动应用程序的新用户和角色 在这个种子类中 当我将角色添加到用户时 我收到以下错误 INSERT 语句与 FOREIGN K
  • 如何在 JBoss 中使用 Java“热代码替换”?

    我正在运行 JBoss 4 0 3 SP1 CP04 并使用 Eclipse 3 4 1 的调试器连接到它 两者都使用 JDK 1 6 0 11 当我对方法进行微小更改 例如 将逻辑中的 1 更改为 2 并保存它时 我立即收到标题为 热代码
  • JavaScript 中的 HTML 图像到 pdf 转换器

    HTML 代码 img class imagepdf src www images com someimage alt Smiley face height 42 width 42 我想将此图像转换为 pdf 格式 我在用jspdf 为此
  • 实体的键不符合键值编码

    if win Game was won set completed in puzzle and time Calculate seconds taken int timeTaken int NSDate timeIntervalSinceR
  • Bootstrap 按钮在移动设备上“卡住”

    Whenever I click a button with my mobile device android on a twitter boostrap button but button gets odd styling like th
  • 设置 float:left 时将 div 扩展到最大宽度

    我有类似的东西 div style width 100px menu div div content div 两个浮标都是必需的 我希望内容 div 填满整个屏幕 减去菜单的 100 像素 如果我不使用 float 则 div 会完全按其应
  • 用于不平衡多类多标签分类的神经网络

    如何处理训练神经网络时多标签分类结果不平衡的问题 我遇到的解决方案之一是惩罚罕见标记类的错误 这是我设计网络的方式 类数 100 输入层 第一隐藏层和第二层 100 通过 dropout 和 ReLU 全连接 第二个隐藏层的输出是 py x
  • 动态链接器是 Linux 系统上内核或 GCC 库的一部分吗?

    动态链接器 又名程序解释器 链接加载器 是内核或 GCC 库的一部分吗 UPDATE 28 08 16 我发现默认路径为动态链接器每个二进制文件 即链接到共享库 都使用 lib64 ld linux x86 64 so 2是共享库的链接 l
  • 验证信用卡详细信息

    如何验证信用卡 我需要做卢恩检查 黑莓有没有API可以做到这一点 您可以使用以下方法来验证信用卡号 Perform Luhn check public static boolean isCreditCardValid String card
  • Javascript 中变量声明语法(包括全局变量)之间的区别?

    声明变量有什么区别 var a 0 1 这边走 a 0 2 or window a 0 3 在全球范围内 是的 有一些差异 但实际上它们通常并不大 除了你的 2 a 0 A 我强烈建议不要这样做 B 在严格模式下是一个错误 还有第四种方法
  • 如何在端口 80 上运行 Node.js?

    我的目标是在端口 80 上运行 Node js 这是因为我发现某些网络阻止了 Node js 这些网络不允许来自任何其他端口的流量 看来 最好的方法是通过 Node js 代理 Apache 我尝试过使用节点 http 代理做到这一点 但我
  • Java RSA 加密 - 解密 .NET

    我正在使用 RSA 在 JAVA 上进行加密 并尝试使用 NET 进行解密 我提供了我的 JAVA 代码和 NET 代码 希望有人对此类事情有一些经验 JAVA代码 byte modulusBytes Base64 decode xTSiS
  • Arrays.asList 的返回类型是什么?

    我读了这篇文章 java 中 Arrays asList array 与 new ArrayList Arrays asList ia 之间的区别 我对此有一个疑问 我看看这一行 List
  • 如何运行 Maven Surefire 而不将测试结果打印到命令行?

    我正在运行 Maven 3 1 0万火插件 already与 quiet选项 但是它仍然将单元测试的结果打印到命令行 即使它们全部通过 有没有办法让它只打印失败 如果一切正常 我想抑制的输出如下所示 T E S T S Running ne
  • R:如何按列删除重复行[重复]

    这个问题在这里已经有答案了 df lt data frame id c 1 1 1 2 2 gender c Female Female Male Female Male variant c a b c d e gt df id gende