绘制名称在列中出现的次数(直方图)

时间:2014-12-01 11:41:15

标签: r openoffice-calc

我有一个已排序的名单,如下所示:

ACVR2B
ADAM19
ADAM29
ADAM29
ADAMTS1
ADAMTS1
ADAMTS1
ADAMTS12
ADAMTS16
ADAMTS16
ADAMTS16
ADAMTS17
ADAMTS17
ADAMTSL1
ADCY10

想将它们绘制为直方图。这些是价值观很容易,但有字符我怎么能在R或开放式办公室里做?

谢谢

2 个答案:

答案 0 :(得分:4)

尝试绘制table()的结果。函数table()计算交叉制表频率,这正是您想要的。

set.seed(42)
x <- sample(letters, 100, replace = TRUE)
plot(table(x))

enter image description here


要绘制已排序的值,请尝试以下操作:

z <- sort(table(x))
plot(z, xaxt="n", type="h")
axis(1, at=seq_along(z), names(z))

enter image description here

答案 1 :(得分:1)

考虑到Andrie的建议:我这样做了:

Letter&lt; -read.table(&#34; letters&#34;,header = T)

x <- sample(Letters, replace = F)
plot(sort(table(x)))

但事情就是这样,我想按照降序排列,只有前10名,我会错过标签。

任何人都可以建议如何修复它,只获得前10名。