【问题标题】:How to plot summaries of a table in bar chart如何在条形图中绘制表格的摘要
【发布时间】:2013-06-20 09:16:53
【问题描述】:

我有一张 SNP 表和对应基因的信息:基因 ID、基因类型和基因名称:

          SNP            Gene ID         Gene type      Gene Name
1    rs10876864 ENSG00000123411.10    protein_coding          IKZF4
2    rs10876864 ENSG00000123411.10    protein_coding          IKZF4
3    rs10876864 ENSG00000123411.10    protein_coding          IKZF4
4    rs10876864 ENSG00000123411.10    protein_coding          IKZF4
5   CNVR2845.57  ENSG00000196126.6    protein_coding       HLA-DRB1
6   CNVR2845.57  ENSG00000196126.6    protein_coding       HLA-DRB1
7   CNVR2845.57  ENSG00000196126.6    protein_coding       HLA-DRB1
8   CNVR2845.57  ENSG00000196126.6    protein_coding       HLA-DRB1
9     rs6030897  ENSG00000201372.1             snRNA             U6
10    rs6030897  ENSG00000201372.1             snRNA             U6
11    rs6030897  ENSG00000201372.1             snRNA             U6

我想绘制 SNP 总数的条形图,看看有多少 SNP 是蛋白质编码或 snRNA 等。

这是我目前的代码:

barplot(as.matrix(data1), main="SNP", xlab="Gene type", ylab= "Total SNP",     names.arg=c("protein_coding","snRNA","pseudogene","antisense","lincRNA",""), border="blue", density=c(10, 20, 30, 40, 50))

但我收到一条错误消息:

Error in barplot.default(as.matrix(data1), main = "SNP", xlab = "Gene type",  :      incorrect number of names
In addition: Warning messages:
1: In apply(height, 2L, cumsum) : NAs introduced by coercion
2: In apply(height, 2L, cumsum) : NAs introduced by coercion
3: In apply(height, 2L, cumsum) : NAs introduced by coercion
4: In apply(height, 2L, cumsum) : NAs introduced by coercion

【问题讨论】:

标签: r graph bar-chart


【解决方案1】:
  1. 您有四列,您提供 5 names.arg
  2. 密度相同,但仅此一项不会出现错误...
  3. barplot的第一项,叫height,根据?barplot应该是:

    身高
    描述构成绘图的条形的向量或值矩阵。如果高度是一个向量,则绘图由一系列矩形条组成,高度由向量中的值给出。如果 height 是一个矩阵,并且旁边是 FALSE,那么绘图的每个条都对应于一列高度,列中的值给出 组成条的堆叠子条的高度。如果 height 是一个矩阵,beside 是 TRUE, 然后每列中的值并列而不是堆叠。

你有字符列,你期望什么:-)?在绘制数据之前,您需要做一些汇总统计......类似

barplot(table(df$Gene_type, df$SNP))

但我建议看看许多其他更好的方法,显然是 ggplot2 包,它可以自动完成。

【讨论】:

    猜你喜欢
    • 2014-08-05
    • 2016-07-06
    • 2020-03-16
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2014-06-14
    • 2010-09-24
    • 2016-08-14
    相关资源
    最近更新 更多