使用ggplot2生成直方图时遇到问题。我正在使用以下函数,它接收输入,一个data.frame。该功能只需要创建一个data.frame,如您所见。但是我得到一个错误,表明每列中的行数不同。任何的想法?我正在使用RStudio,这是库ggplot2的问题吗?如果是这样,是否有其他库用于制作直方图?我用barplot测试但是我得到了错误边距......
我的职能:
HIST_EPC_list<-function(DF_TAG_PHASE_EPC_counter){
require(ggplot2)
ggplot(DF_TAG_PHASE_EPC_counter, aes(x=DF_TAG_PHASE_EPC_counter$Tag_PHASE, y=DF_TAG_PHASE_EPC_counter$Num_EPC))+xlab("PHASE")+ylab("Number of EPC's")+ ggtitle("Histogram of Number of EPC/PHASE")+geom_histogram(stat="identity")
#barplot(DF_TAG_PHASE_EPC_counter$Num_EPC, names.arg = DF_TAG_PHASE_EPC_counter$Tag_PHASE, xlab = "Tag_PHASE", ylab = "Num_EPC", main="Histograma Num tags/PHASE:", width=10)
#par(mar=c(4,4,4,4))
}
data.frame DF_TAG_PHASE_EPC_counter
Tag_PHASE Num_EPC
1 101.0 1
2 120.0 1
3 146.0 1
4 16.0 1
5 163.0 1
6 25.0 1
7 42.0 1
8 53.0 2
9 56.0 1
10 61.0 1
11 64.0 3
12 75.0 1
错误:
data.frame中的错误(x = 1:8,y = c(1L,1L,1L,2L,1L,1L,2L,1L),PANEL = c(1L,: 参数意味着不同的行数:8,12
答案 0 :(得分:1)
如果要使用传入绘图的数据参数,则在指定aes
时不应使用表名。你应该使用
HIST_EPC_list<-function(DF_TAG_PHASE_EPC_counter){
require(ggplot2)
ggplot(DF_TAG_PHASE_EPC_counter, aes(x=Tag_PHASE, y=Num_EPC))+
xlab("PHASE")+ylab("Number of EPC's")+
ggtitle("Histogram of Number of EPC/PHASE")+
geom_histogram(stat="identity")
}