Tengo un marco de datos en el que quiero utilizar ciertos valores como claves hash/claves del diccionario (o como se llame en el idioma de su elección) para otros valores en ese marco de datos. Decir que tengo una trama de datos como éste, que he leído desde un archivo csv grande (sólo primera fila se muestra):¿Cómo uso los elementos de un marco de datos como claves hash/claves del diccionario/claves principales?
Plate.name QN.number Well Allele.X.Rn Allele.Y.Rn Call
1 Plate 1_A1 QN2200 A 1.766 2.791 Both
en el que R código sería:
structure(list(Plate.name = structure(1L, .Label = "Plate 1_A1", class = "factor"),
QN.number = structure(1L, .Label = "QN2200", class = "factor"),
Well = structure(1L, .Label = "A1", class = "factor"), Allele.X.Rn = 1.766,
Allele.Y.Rn = 2.791, Call = structure(1L, .Label = "Both", class = "factor")), .Names = c("Plate.name",
"QN.number", "Well", "Allele.X.Rn", "Allele.Y.Rn", "Call"), class = "data.frame", row.names = c(NA,
-1L))
THe QN.numbers son identificaciones únicas en mi conjunto de datos. ¿Cómo puedo recuperar datos usando QN.number como referencia para los otros valores, es decir, quiero saber la llamada o Allele.X.Rn para un QN.number dado? Parece row.names podría hacer el truco, pero ¿cómo los usaría en esta instancia?
1 para un reproducibles ejemplo y pregunta bien hecha. –
Los nombres de fila en un marco de datos deben ser únicos (como en un hash o diccionario), por lo que es posible que desee hacer esa comprobación antes de usar QN.number en row.names(). Algo como 'sum (tapply (d $ a, d $ a, length)> 1)' le dirá cuántos duplicados hay en la columna a del marco de datos d. – Seth
Ah sí, gracias. Seth, debería haber mencionado que QN.number es una identificación única. Editaré la pregunta – arandomlypickedname