2017-03-15 75 views
0

我用ggplot2创建了一个图表,并且我有这个代码,它工作得很好。R:geom_text标签不能识别数字字符

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) 

enter image description here

然而,我需要每个I创建不同的图形时手动更改151(用于该数据集的总的观察结果)。所以我想出了这条线,它给了我151(也适用于每个不同的数据集):

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

这里没问题。 f1给出151就像f1 < - 151一样。

但是当我尝试来替换151在GGPLOT2代码,它失败:在糊

误差(式=圆形(计数/ F1×100), “%”):对象 'F1'找不到

我该如何告诉R使用f1作为标准数值(它与151所做的一样)?

+0

也许你只是想'..安装..'而不是......? – joran

+2

请致电为ggplot2提供可重复的数据输入。我不清楚,你需要这样计算f1,当你可以这样做时(..count ..)/ sum(.. count ..) – Djork

+0

啊,'..ncount ..'不适用于该状态。 – joran

回答

0

我的问题的解决方案是简单地用((..count ..)/ sum(.. count ..)* 100)替换(..count ../ 151 * 100)为@ R.S。建议。感谢大家。