从R中的原始数据生成热图矩阵

时间:2017-04-26 08:47:25

标签: r matrix dataframe heatmap

我有一个细菌菌株收集的遗传数据数据集,我想绘制一张热图,显示我的菌株的许多等位基因的流行程度(按分组变量分组)。

我的原始数据是一个大型数据框,由许多菌株(行),分组变量(1列)和多个遗传决定因素组成,每个都是一个自己的变量。我正在努力用ggplot创建一个热图,因为这需要一个需要绘制的数据矩阵,我不知道如何将原始数据转换为所需的矩阵。 我的原始数据框看起来像这样(摘录,为简单起见):

override func didTransition(to state: UITableViewCellStateMask) {
    super.willTransition(to: state)

    if state == .showingDeleteConfirmationMask {
        for subview: UIView in subviews {
            if NSStringFromClass(type(of: subview)) == "UITableViewCellDeleteConfirmationView" {
                let deleteBtn = UIImageView(frame: CGRect(x: 0, y: 0, width: 84, height: 43))
                deleteBtn.backgroundColor = .red
                deleteBtn.contentMode = .scaleAspectFit

                deleteBtn.image = UIImage(named: "delete.png")
                subview.subviews[0].addSubview(deleteBtn)
            }
        }
    }
}

A-F是等位基因变量,'0'表示它不存在,而'1'表示它是。我现在想要做的是计算每组的出现次数'1',得到与该组的所有观察相关的百分比(即'1'/('1'+'0')对于组10,38 ,69,73,95,127)。然后这需要在这样的矩阵中:

   Sample group A B C D E F
1       1    10 0 1 0 0 0 0
2       2    10 0 1 0 0 0 0
3       3    10 0 1 0 0 0 0
4       4    10 0 1 0 0 0 0
5       5    38 0 1 0 0 0 0
6       6    38 0 1 0 0 0 0
7       7    38 1 1 0 0 0 0
8       8    69 0 1 0 0 0 0
9       9    69 0 1 0 0 0 0
10     10    69 0 1 0 0 0 0
11     11    69 0 1 0 0 0 0
12     12    69 0 1 0 0 0 0
13     13    69 0 1 0 0 0 0
14     14    73 0 0 0 0 0 0
15     15    73 0 0 0 0 0 0
16     16    73 0 0 0 0 0 0
17     17    73 0 0 0 0 0 0
18     18    73 0 0 0 0 0 0
19     19    73 0 0 0 0 0 0
20     20    73 0 0 0 0 0 0
21     21    73 0 0 0 0 0 0
22     22    73 0 0 0 0 0 0
23     23    73 0 0 0 0 0 0
24     24    73 0 0 0 0 0 0
25     25    73 1 0 0 0 0 0
26     26    73 0 0 0 0 0 0
27     27    95 0 0 0 0 0 0
28     28    95 0 0 0 0 0 0
29     29    95 0 0 0 0 0 0
30     30    95 0 0 0 0 0 0
31     31    95 0 0 0 0 0 0
32     32   127 0 0 0 0 0 0
33     33   127 0 0 0 0 0 0
34     34   127 0 0 0 0 0 0
35     35   127 0 0 0 0 0 0

我的数据集非常庞大,因此手动计算并在此示例中“键入”矩阵不是一个可行的选项。 在R中是否有任何智能方法可以将其绘制成热图?

非常感谢任何帮助。 谢谢

kruemelprinz

0 个答案:

没有答案