¿Cómo se selecciona la combinación no único de columnas?

Igor Filippov:

Mis datos se ve así:

counts <- data.frame(
  pos = c(101, 101, 101, 102, 102, 102, 103, 103, 103, 101, 101, 101),
  chr = c(1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4),
  subj = c("A", "B", "C", "A", "B", "C", "A", "B", "C", "A", "B", "C")
)

posse supone que debe pertenecer sólo a un único chr, pero aquí POS 101 pertenece a los dos CHR 1 y 4.

Puedo detectar este caso como:

counts %>% select(pos, chr) %>%
  group_by(pos) %>%
  summarise(n_chrs = length(unique(chr))) %>%
  filter(n_chrs > 1)

Esto devuelve poslos cuales tiene más que chrvalores:

 A tibble: 1 x 2
    pos n_chrs
  <dbl>  <int>
1   101      2

Lo que me gustaría es saber qué chrvalores están implicados, algo así como:

  pos chr
1 101   1
2 101   4

¡Gracias!

arg0naut91:

Podrías hacerlo:

library(dplyr)

counts %>%
  group_by(pos) %>%
  distinct(chr) %>%
  filter(n() > 1)

Salida:

# A tibble: 2 x 2
# Groups:   pos [1]
    pos   chr
  <dbl> <dbl>
1   101     1
2   101     4

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=384205&siteId=1
Recomendado
Clasificación