【发布时间】:2021-07-20 12:28:00
【问题描述】:
我需要帮助才能创建矩阵
这是一个例子:
我有一个数据框,例如:
Groups Number Species_name
G1 5 Homo_sapiens
G1 5 Canis_lupus
G1 6 Cattus_domesticus
G1 6 Pan_troglodys
G1 6 Danio_rerio
G2 5 Homo_sapiens
G2 5 Canis_lupus
G3 1 Mus_musculus
G3 3 Canis_lupus
G3 3 Cattus_domesticus
G3 3 Pan_troglodys
我需要将其转换为:
G1-5 G1-6 G2-5 G3-1 G3-3
Homo_sapiens 1 0 1 0 0
Canis_lupus 1 0 1 0 1
Cattus_domesticus 0 1 0 0 1
Pan_troglodys 0 1 0 0 1
Apis_mellifera 0 0 0 0 0
Danio_rerio 0 1 0 0 0
Mus_musculus 0 0 0 1 0
如您所见,Apis_mellifera 没有任何价值,但我仍然根据行名列表将其添加到最终矩阵中:
list_rownames <-c("Homo_sapiens","Canis_lupus","Cattus_domesticus","Pan_troglodys","Apis_mellifera","Danio_rerio","Mus_musculus")
有人有想法吗?
如果有帮助,这里是数据:
structure(list(Groups = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L,
3L, 3L, 3L, 3L), .Label = c("G1", "G2", "G3"), class = "factor"),
Number = c(5L, 5L, 6L, 6L, 6L, 5L, 5L, 1L, 3L, 3L, 3L), Species_name = structure(c(5L,
1L, 3L, 8L, 4L, 5L, 2L, 6L, 1L, 3L, 7L), .Label = c("Canis_lupus",
"Canis_lupus ", "Cattus_domesticus", "Danio_rerio", "Homo_sapiens",
"Mus_musculus ", "Pan_troglodys ", "Pan_troglodys "), class = "factor")), class = "data.frame", row.names = c(NA,
-11L))
【问题讨论】: