我的 csv 数据格式如下。我想使用此文件创建热图矩阵。我将使用 R glot。
A B C 1 apple 3 2 book 5 4 bag 1 9 desk 4 10 apple 8 11 book 66 14 desk 2
I would like to create a matrix for heatmap using that above file.
1 2 4 9 10 11 14
apple 3 0 0 0 8 0 0
book 0 5 0 0 0 66 0
bag 0 0 1 0 0 0 0
desk 0 0 0 4 0 0 2
我在初始文件中还有另一列用于订购。
A B C D 1 apple 3 4 2 book 5 1 4 bag 1 2 9 desk 4 3 10 apple 8 4 11 book 66 1 14 desk 2 3
如何根据此 D 排序列对矩阵进行排序?或者我想按 1-14 列的总和进行排序。
最佳答案
您可以使用xtabs
。
d <- read.delim(textConnection("
A B C
1 apple 3
2 book 5
4 bag 1
9 desk 4
10 apple 8
11 book 66
14 desk 2
"), sep=" ")
xtabs(C ~ B + A, d)
A
B 1 2 4 9 10 11 14
0 0 0 0 0 0 0
apple 3 0 0 0 8 0 0
bag 0 0 1 0 0 0 0
book 0 5 0 0 0 66 0
desk 0 0 0 4 0 0 2
关于r - 如何从数据创建 r 矩阵或表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9313308/