将数据框转换为矩阵

时间:2018-10-31 21:56:27

标签: r dataframe matrix

我有一张地理上重叠的物种组合表。

Sp_a    Sp_b   prop_overlap
Cat     Dog    1

但是我想创建一个看起来像这样的矩阵:

      Cat 
Dog    1

我大约有180000个组合。有没有在R中转换此信息的快速方法?

我尝试过:

    m <- matrix( NA, ncol = max(species_int$sp_a) , nrow = max(species_int$sp_b) ) 
m[ cbind( species_int$sp_b , species_int$sp_a ) ] <- species_int$prop_overlap 

谢谢

1 个答案:

答案 0 :(得分:0)

谢谢,只需要重写一下:

library(reshape2)
m <- acast(species_int, sp_a~sp_b, value.var = "prop_overlap")