使用rCharts创建直方图

时间:2015-08-06 10:09:02

标签: r histogram rcharts

我正在尝试使用rCharts中的nPlot来创建直方图。我的数据格式如下:

> head(Data)
   X       Date Age Race Sex         region
 1 1 2013-12-31  54 <NA>   M     washington
 2 2 2013-12-31  20 <NA>   M     california
 3 3 2013-12-31  34    B   M north carolina
 4 4 2013-12-30  43    B   M   pennsylvania
 5 5 2013-12-30  31    W   F     california
 6 6 2013-12-29  43    W   M       colorado

使用ggplot2(和doBy用于summaryBy):

cdat <- summaryBy(Age~Sex,data=Data,FUN=c(mean),na.rm=TRUE)
cdat <- cdat[-3,]
ggplot(Data,aes(x=Age,fill=Sex))+
geom_histogram(binwidth=.7, alpha=.8, position="identity")+
geom_vline(data=cdat, aes(xintercept=Age.mean,  colour=Sex),
           linetype="dashed", size=1)

输出是按Sex分组的直方图:

enter image description here

我想使用rCharts包创建一个类似的图形。我尝试了以下但没有成功:

output$Histogram1 <- renderChart({
    Trial <- summaryBy(.~Age+Sex,data=Data,FUN=length)
    Histogram1 <- nPlot(x='Age',y='X.length',group='Sex',data=Trial,type='bar',dom='Histogram1')
    Histogram1$chart(margin = list(left = 100))
    return(Histogram1)
})

代码位于server.R脚本中 - &gt;一个闪亮的应用程序。

2 个答案:

答案 0 :(得分:0)

如果您在闪亮的应用程序之外工作的代码,请尝试使用renderChart2而不是renderChart:

output$Histogram1 <- renderChart2({
Trial <- summaryBy(.~Age+Sex,data=Data,FUN=length)
Histogram1 <- nPlot(x='Age',y='X.length',group='Sex',data=Trial,type='bar',dom='Histogram1')
Histogram1$chart(margin = list(left = 100))
return(Histogram1)
})

答案 1 :(得分:0)

你能说出你面临的确切错误吗?

另外,当我在type="bar"函数中使用nPlot时,我也遇到了一些问题。

修复方法是使用type="multiBarChart"

希望有所帮助!

修改1:

另外,正如@susacb建议的那样,使用renderChart2而不是renderChart并删除dom参数。