У меня есть dataframe, в котором я хочу использовать определенные значения в качестве хеш-ключей/словарных клавиш (или того, что вы называете на выбранном вами языке) для других значений в этом фрейме. Скажем, у меня есть dataframe подобное, которые я прочитал в из большого файла CSV (только первая строка) показано:Как использовать элементы фрейма данных, такие как ключи хеша/ключи словаря/первичные ключи?
Plate.name QN.number Well Allele.X.Rn Allele.Y.Rn Call
1 Plate 1_A1 QN2200 A 1.766 2.791 Both
который в R кода будет:
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))
тне QN.numbers являются уникальными идентификаторами в моем наборе данных. Как затем получить данные с помощью QN.number в качестве ссылки для других значений, то есть я хочу знать Call или Allele.X.Rn для данного QN.number? Кажется, row.names может сделать трюк, но тогда как я буду использовать их в этом случае?
+1 для воспроизводимого пример и хорошо заданный вопрос. –
Имена строк в кадре данных должны быть уникальными (как в хеше или словаре), поэтому вы можете выполнить эту проверку перед использованием QN.number в row.names(). Что-то вроде 'sum (tapply (d $ a, d $ a, length)> 1)' расскажет вам, сколько дубликатов находится в столбце a фрейма данных d. – Seth
Ах да спасибо Сет, я должен был упомянуть, что QN.number - уникальный идентификатор. Я отредактирую вопрос – arandomlypickedname