使用来自两列数据帧的数据填充矩阵

时间:2013-10-17 10:01:01

标签: r matrix

我非常绝望,甚至我准备失去更多的代表点,但我不得不问。 (是的,我读了一些关于它的线索)。

我创建了一个只有2列我希望放入矩阵的数据框(我不知道如何从整个数据中选择2列):

    tbl_corel <- tbl_end[,c("diff", "abund_mean")]

在下一步中我创建并清空矩阵:

## Creating a empty matrix to check the correlation between diff and abund_mean
mat_corel <- matrix(0, ncol = 2)
colnames(mat_corel) <- c("diff", "abund_mean")

我尝试使用该函数用数据填充矩阵:

mat_corel <- matrix(tbl_corel), nrow = 676,ncol = 2)

当然,我必须手动检查数据框中有多少行... 它不起作用。 尝试了这个功能:

mat_corel[ as.matrix(tbl_corel) ] <- 1

它不起作用。我非常感谢你的帮助。

  diff abund_mean
1    0 3444804.80
2    0  847887.02
3    0   93654.19
4    0  721692.76
5    0  382711.04
6    1  428656.66

1 个答案:

答案 0 :(得分:4)

如果要从两列数据框创建矩阵,可以采用更直接,更简单的方法:直接将数据帧转换为矩阵:

mat_corel <- as.matrix(tbl_corel)

但是如果您只想计算相关系数,可以直接从数据框中进行计算:

cor(tbl_end$diff, tbl_end$abund_mean)