Tengo una mesa:
ID Phenotype
AA 1
AB 1
AC 0
AD 1
AE 0
AF 1
AG 0
Tengo una lista de ID de aquellos con el fenotipo "1" que quiero subconjuntar de los otros fenotipos "1". Quiero mantener todos los fenotipos "0".
Diga que la lista dice: AB, AD
El resultado deseado sería:
ID Phenotype
AA 1
AB 1
AC 0
AD 1
AE 0
AG 0
IE AF se habría eliminado ya que era un fenotipo "1" pero no estaba en la lista y todos los fenotipos "0" permanecieron intactos.
En realidad, la tabla y la lista tienen miles de entradas. Todos los ID son únicos.
Trabajo en una HPC que está bloqueada por aire a herramientas externas, por lo que se prefieren las soluciones base R. Puedo subdividir la tabla en los fenotipos 1 y 0, eliminar los que no quiero y luego volver a unirme a la tabla, pero me preguntaba si había una forma sencilla de hacer esto.
Muchas gracias
Una base de R
una sola línea sería:
Código:
df[df[, 1] %in% v | df[, 2] == 0, ]
# checks which data.frame entries are matched in the supplied vector
df[, 1] %in% v
# checks which second column entries equal 0
df[, 2] == 0
# then we just utilize | to tell R to accept entries that satisfy either of our
# conditions
Datos:
df <- read.table(text = "ID Phenotype
AA 1
AB 1
AC 0
AD 1
AE 0
AF 1
AG 0", header = T)
v <- c("AB", "AD")
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras