Сохранить строки данных, имеющие одинаковое имя столбца матрицы R - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу сохранить строки фрейма данных (20 строк) матрицы, которая имеет только 13 столбцов, что означает удаление строк моего фрейма данных, которые имеют то же имя, что и имена столбцов моей матрицы. Таким образом, в итоге получается конечный кадр данных из 13 строк, потому что я хочу аннотировать этот кадр данных в моей матрице при построении тепловой карты в будущем.

Я не уверен, возможно ли это на самом деле: S

Матрица: enter image description here

DataFrame:

enter image description here

1 Ответ

1 голос
/ 21 апреля 2020

Пример данных:

Mydataframe <- data.frame(casecontrol = c(rep("case",10),rep("Control",10)),
                          condition=c(rep("cond1",5),rep("cond2",5),rep("cond3",5),rep("cond4",5)))
row.names(Mydataframe) <- sapply(1:20, function(x) paste0("sample",x))

Mymatrix <- matrix(0,nrow=10,ncol=13)
colnames(Mymatrix) <- sapply(1:13, function(x) paste0("sample",x))

Вы можете найти совпадения и удалить их следующим образом:

RowsToRemove <- match(colnames(Mymatrix),row.names(Mydataframe))
MyNewdataframe <- Mydataframe[-RowsToRemove,]

output

> MyNewdataframe
         casecontrol condition
sample14     Control     cond3
sample15     Control     cond3
sample16     Control     cond4
sample17     Control     cond4
sample18     Control     cond4
sample19     Control     cond4
sample20     Control     cond4
...