Calcular el porcentaje de valores comunes entre una columna y una lista, basado en categorías en otra columna con R.
Estoy bastante atascado con este ejercicio, así que realmente agradecería si alguien podría arrojar algo de luz sobre él. Tengo un dataframe con dos columnas, como en el siguiente ejemplo:
V1 | V2 |
---|---|
100100 | rs-1 |
100100 | rs1597782599 |
100100 | rs1603359091 |
100100 | rs1603359205 |
100300 | rs372751467 |
100300 | rs3732413 |
100300 | rs387907031 |
100300 | rs9852894 |
100800 | rs-1 |
100800 | rs121913114 |
100800 | rs144995231 |
100800 | rs17883400 |
100800 | rs761325047 |
101000 | rs1060503667 |
101000 | rs1060503668 |
101000 | rs1060503669 |
101000 | rs1060503670 |
101000 | rs1060503671 |
Y una lista de códigos rs como en el dataset$V2
.
Lo que estoy intentando obtener es el porcentaje de códigos rs comunes entre la columna 2 y la lista, pero agrupados por los códigos en dataset$V1
. Por ejemplo:
V1 | Común % |
---|---|
100100 | 25% |
100300 | 40% |
100800 | 50% |
101000 | 100% |
He probado varias opciones, pero sin éxito. Por ejemplo, estoy intentando con la opción group_by(dataframe$V1)
de tidyverse
, pero no estoy seguro de cómo concatenar la estimación del porcentaje común.
¡Muchas gracias a todos de antemano!
davy.ai
Para obtener el porcentaje de códigos rs comunes entre la columna 2 y la lista, agrupados por los códigos en
dataset$V1
, puedes seguir estos pasos:unique()
.dplyr
para agrupar el dataframe por V1 y aplicar la funcióncommon_percentage
.Salida:
“`r
A tibble: 4 x 2
1 100100 25
2 100300 40
3 100800 50
4 101000 100
“`