首页 > 解决方案 > 返回仅出现一次的列中的值

问题描述

这似乎是一些非常基本的东西,但独特而独特的功能在这种情况下不起作用。

a <- as_tibble(c(1,1,2,2,3,4,4,5))
a
# A tibble: 8 x 1
  value
  <dbl>
1     1
2     1
3     2
4     2
5     3
6     4
7     4
8     5

结果应该是一个小标题,其中我只有值,不会出现超过一次,如下所示:

# A tibble: 8 x 1
  value
  <dbl>
1     3
2     5

我尝试了独特而独特的,但这当然给了我:

# A tibble: 5 x 1
  value
  <dbl>
1     1
2     2
3     3
4     4
5     5

这不是我想要的。

标签: r

解决方案


使用base R,这确实有点难看。:) 请注意,您提供的示例与印刷文本不同。

xy <- data.frame(value = c(1,1,2,2,3,4,4,5))

un <- table(xy$value)
un <- un[un == 1]
xy[xy$value %in% names(un), , drop = FALSE]

  value
5     3
8     5

推荐阅读