让我们使用一个示例表:
structure(c(2, 8, 3, 4, 1, 2, 3, 5, 4, 7, 6, 4, 1), .Names = c("Mark", "Greg",
"Sonya", "Monica", "Tiana", "Arra", "Armin", "Hera", "Cyrus", "Pier", "Tina", "Hector", "Markus"))
分配此数据中的每个名称。我想基于该表创建一个饼图。我想知道大块的“蛋糕”属于表中不同的数字。
所以数字4
重复3次,这意味着它将拥有该饼图中最大的百分比/片段。我们总共有13个数字,因此4
代表饼图的23%。
我可以继续这样计算并手动创建char,但这不是R用户的解决方案。另一个问题是我的数据比提供的示例大得多......
其他问题: 如果你能告诉我如何制作如下图所示的图表,那就太棒了:
编辑:
> dput(head(sum_peaks_EOD)
+ )
structure(c(2, 8, 3, 4, 1, 2), .Names = c("AT1G01050", "AT1G01080",
"AT1G01090", "AT1G01320", "AT1G01470", "AT1G01800"))
答案 0 :(得分:1)
对于你的饼图:
pie(table(dat))
对于你的直方图,使用ggplot2:
dat <- as.data.frame(dat)
dat$factor <-1
ggplot(dat,aes(x=factor,fill=factor(dat))) +
geom_bar(binwidth=5) +
coord_flip()
编辑:由于as.data.frame()调用的工作方式,您想要因素的列将被称为原始向量的名称。因此,如果您的数据名为sum_peaks_EOD:
dat <- as.data.frame(sum_peaks_EOD)
dat$factor <-1
ggplot(dat,aes(x=factor,fill=factor(sum_peaks_EOD))) +
geom_bar(binwidth=5) +
coord_flip()