0

我用 ggplot2 创建了一个图表,并且我有这个运行良好的代码。

ggp <- ggplot(data.frame(diam.split.data$"(0,10]"),aes(x=intcat))
ggp + geom_bar() + 
  geom_text(stat='count', aes(label=paste(round(..count../151*100),"%")), vjust=-1)

在此处输入图像描述

但是,每次创建不同的图表时,我都需要手动更改 151(此数据集的总观察值)。所以我想出了这条线,它给了我 151 (并且它也适用于每个不同的数据集):

f1 <- (as.numeric(substr(((unname((summary(diam.split.data$"(0,10]"))))[1,1]), 
  start=9, stop=20)))

这里没问题。f1 给出 151 的方式与 f1 <- 151 相同。

但是当我尝试替换 ggplot2 代码中的 151 时,它失败了:

粘贴错误(公式 = 回合(计数/f1 * 100),“%”):找不到对象“f1”

我如何告诉 R 使用 f1 作为标准数值(与 151 相同)?

4

1 回答 1

0

我的问题的解决方案只是按照@RS的建议将 (..count../151*100) 替换为 ((..count..)/sum(..count..)*100) 。感谢大家。

于 2017-03-19T10:25:12.480 回答