删除重复行

删除重复行

我读过CSV文件放入R数据帧中。一些行在其中一个列中具有相同的元素。我想删除该列中重复的行。例如:


platform_external_dbus          202           16                     google        1

platform_external_dbus          202           16         space-ghost.verbum        1

platform_external_dbus          202           16                  localhost        1

platform_external_dbus          202           16          users.sourceforge        8

platform_external_dbus          202           16                    hughsie        1

我只想要这些行中的一行,因为其他行在第一列中有相同的数据。


GCT1015
浏览 685回答 3
3回答

冉冉说

只需将数据帧与所需的列隔离,然后使用唯一的函数:d。#&nbsp;in&nbsp;the&nbsp;above&nbsp;example,&nbsp;you&nbsp;only&nbsp;need&nbsp;the&nbsp;first&nbsp;three&nbsp;columnsdeduped.data&nbsp;<-&nbsp;unique(&nbsp;yourdata[&nbsp;,&nbsp;1:3&nbsp;]&nbsp;) #&nbsp;the&nbsp;fourth&nbsp;column&nbsp;no&nbsp;longer&nbsp;'distinguishes'&nbsp;them,&nbsp;#&nbsp;so&nbsp;they're&nbsp;duplicates&nbsp;and&nbsp;thrown&nbsp;out.

慕斯王

对于来此寻找重复行删除的一般答案的人,请使用!duplicated():a <- c(rep("A", 3), rep("B", 3), rep("C",2))b <- c(1,1,2,4,1,1,2,2)df <-data.frame(a,b)duplicated(df)[1] FALSE&nbsp; TRUE FALSE FALSE FALSE&nbsp; TRUE FALSE&nbsp; TRUE> df[duplicated(df), ]&nbsp; a b2 A 16 B 18 C 2> df[!duplicated(df), ]&nbsp; a b1 A 13 A 24 B 45 B 17 C 2答复:从R数据帧中删除重复行

牛魔王的故事

功能distinct()在dplyr包执行任意重复删除,允许指定重复变量(如本问题)或考虑所有变量。数据:dat&nbsp;<-&nbsp;data.frame(a&nbsp;=&nbsp;rep(c(1,2),4),&nbsp;b&nbsp;=&nbsp;rep(LETTERS[1:4],2))删除指定列重复的行:library(dplyr)dat&nbsp;%>%&nbsp;distinct(a,&nbsp;.keep_all&nbsp;=&nbsp;TRUE) &nbsp;&nbsp;a&nbsp;b1&nbsp;1&nbsp;A2&nbsp;2&nbsp;B删除与其他行完全重复的行:dat&nbsp;%>%&nbsp;distinct &nbsp;&nbsp;a&nbsp;b1&nbsp;1&nbsp;A2&nbsp;2&nbsp;B3&nbsp;1&nbsp;C4&nbsp;2&nbsp;D
打开App,查看更多内容
随时随地看视频慕课网APP