压缩数据表列中的重复项(R)
以仅包含一列的以下数据表为例。它有一个列,其中填充了字符条目,其中许多但不是所有条目都是重复的。有没有什么方法可以让我轻松地删除此列中的任何重复项,从而列出所有项目?我想拿这个:压缩数据表列中的重复项(R),r,data.table,R,Data.table,以仅包含一列的以下数据表为例。它有一个列,其中填充了字符条目,其中许多但不是所有条目都是重复的。有没有什么方法可以让我轻松地删除此列中的任何重复项,从而列出所有项目?我想拿这个: d1 V1 1: 12 W 2: 432 N 3: 37 SE 4: 12 W 5: 438 E 6: 432 N 7: 12 W 8: 432 N 9: 432 N 10: 37 SE 11: 12 W 12: 33 E 把它浓缩成这个 d2 V1 1: 12
d1
V1
1: 12 W
2: 432 N
3: 37 SE
4: 12 W
5: 438 E
6: 432 N
7: 12 W
8: 432 N
9: 432 N
10: 37 SE
11: 12 W
12: 33 E
把它浓缩成这个
d2
V1
1: 12 W
2: 432 N
3: 33 E
4: 37 SE
5: 438 E
试试这个
d2 <- d1 %>% distinct(.)
d2
删除空格后的所有内容,并使用duplicated仅保留唯一值
df[!duplicated(sub('\\s.*', '', df$V1)), , drop = FALSE]
# V1
#1 12 W
#2 432 N
#3 37 SE
#5 438 E
#12 33 E
如果您使用的是data.table:
资料
base中的一个简单解决方案是:
d2 <- unique(d1)
df <- structure(list(V1 = c("12 W", "432 N", "37 SE", "12 W", "438 E",
"432 N", "12 W", "432 N", "432 N", "37 SE", "12 W", "33 E")),
class = "data.frame", row.names = c(NA, -12L))
d2 <- unique(d1)