У меня есть фрейм данных с набором имен генов в виде строк и характеристик генов в виде столбцов. Моя идея состоит в том, чтобы создать сравнительную таблицу с логическими значениями, указывающими, соответствуют ли они одному или нескольким признакам.
В качестве примера я создаю следующее, воссоздающее ожидаемый результат
Сначала я создаю здесь список личных характеристик с именами людей. В моих реальных данных они являются характеристиками генов с именами генов в них.
Gentle <- as.character(c("Jhon", "Louis", "Mark"))
Mean <- as.character(c("Jhon", "German", "Jesse"))
Cool <- as.character(c("Louis", "Jack", "Jesse"))
Naive <- as.character(c("Walter", "German", "Mark"))
Это пример того, что у меня уже есть входные данные.
df <- data.frame(Gentle, Mean, Cool, Naive)
И вот что Я ожидаю получить, где имена субъектов (имена генов) имеют значение Boolen, получая сравнительную таблицу.
result <- data.frame(Gentle = c(T,T,T,F,F,F,F), Mean = c(T,F,F,T,T,F,F),
Cool=c(F,T,F,F,T,T,F), Naive = c(F,F,T,T,F,F,T))
rownames(result) <- as.character(c("Jhon", "Louis", "Mark", "German", "Jesse", "Jack","Walter"))
colnames(result) <- as.character(c("Gentle", "Mean", "Cool", "Naive"))
Каков наилучший способ получить это? Я еще ничего не пробовал.