使用变量的函数中的ggplot - geom_density:arguments意味着不同的行数

时间:2013-08-30 13:38:45

标签: r ggplot2

我有一个使用ggplot2打印和保存一些图表的功能。当我执行geom_density时,出现错误消息。

Don't know how to automatically pick scale for object of type function. Defaulting to continuous
Error in data.frame(x = 1:5, y = c(44.43, 72.36, 177.17, 515.09, 1403.33 : 
arguments imply differing number of rows: 5, 0
经过一番研究,我发现我可能会错过团体名称和一些指示。但是,我无法确定这个错误。我列出了整个数据。

library(ggplot2)
dt <- read.table("/R/10G.csv", header=TRUE, sep="\t", na.strings="NA", dec=".", strip.white=TRUE)
dt$Thread <- factor(dt$Thread)  # factorize 'Thread'
library(plyr)
dd.mean <- ddply(dt, 'Thread', summarize, TPS = round(mean(TPS), 2), RT = round(mean(RT), 2))
m <- ggplot(dd.mean, aes(x=Thread,y=RT, group=seq)) 
m + geom_density(fill=NA)
m + geom_text(data=dd.mean, aes(x=Thread, label=TPS), vjust=-2) 

1 个答案:

答案 0 :(得分:1)

您应该对ggplot()进行更多研究,特别是geom_linegeom_point。我认为geom_density不是你在这里寻找的。下面是一个可以解决此任务的方法的示例,但是您可以采用数千种不同的方法,这就是为什么我建议更多地查看文档,一些可能有用的链接:

注意:我没有分解dt$Thread

library(plyr)

dd.mean <- ddply(dt, 'Thread', summarize, TPS = round(mean(TPS), 2), RT = round(mean(RT), 2))

ggplot(dd.mean, aes(x = Thread, y = RT)) + 
        geom_line(size = 1, alpha = 0.3, colour = "red") + 
        geom_point(size = 3, alpha = 1, colour = "red") +  
        geom_text(x = dd.mean$Thread, label = dd.mean$TPS, vjust = -2)