Hi, I have a data as mentioned below(at the bottom) Now out of that data i have to create multiple histograms in a single view in R. On that histogram i need on x -axis binned data with Breaks 10 and on y axis event rate . Here churn is dependent variable. *for example, for mou_mean , on x -axis on histogram i need Bins(mou_mean) and on y - axis in need Churn%age. * *Bins(mou_mean)* *Churn %age* 23-43 0.23% 33-53 0.5% 43-63 0.3% 53-73 0.4% 63-83 0.7% 83-103 0.8% Please help *mou_mean* *totalmrc_mean* *rev_range* *mou_range* *Churn* 23 24 25 27 1 45 46 47 49 1 43 44 45 47 1 45 46 47 49 0 56 57 58 60 0 67 68 69 71 1 67 68 69 71 0 44 45 46 48 1 33 34 35 37 0 90 91 92 94 1 87 88 89 91 1 76 77 78 80 1 33 34 35 37 1 44 45 46 48 1 [[alternative HTML version deleted]]
Hello, Maybe package psych, function multi.hist is what you want. https://cran.r-project.org/web/packages/psych/index.html And don't post in HTML, your data is unreadable. Hope this helps, Rui Barradas Em 19-04-2017 14:05, prateek pande escreveu:> Hi, > > I have a data as mentioned below(at the bottom) > > Now out of that data i have to create multiple histograms in a single view > in R. On that histogram i need on x -axis binned data with Breaks 10 and > on y axis event rate . Here churn is dependent variable. > > > *for example, for mou_mean , on x -axis on histogram i need Bins(mou_mean) > and on y - axis in need Churn%age. * > *Bins(mou_mean)* > > *Churn %age* > 23-43 0.23% > 33-53 0.5% > 43-63 0.3% > 53-73 0.4% > 63-83 0.7% > 83-103 0.8% > > Please help > > > *mou_mean* > > *totalmrc_mean* > > *rev_range* > > *mou_range* > > *Churn* > > 23 > > 24 > > 25 > > 27 > > 1 > > 45 > > 46 > > 47 > > 49 > > 1 > > 43 > > 44 > > 45 > > 47 > > 1 > > 45 > > 46 > > 47 > > 49 > > 0 > > 56 > > 57 > > 58 > > 60 > > 0 > > 67 > > 68 > > 69 > > 71 > > 1 > > 67 > > 68 > > 69 > > 71 > > 0 > > 44 > > 45 > > 46 > > 48 > > 1 > > 33 > > 34 > > 35 > > 37 > > 0 > > 90 > > 91 > > 92 > > 94 > > 1 > > 87 > > 88 > > 89 > > 91 > > 1 > > 76 > > 77 > > 78 > > 80 > > 1 > > 33 > > 34 > > 35 > > 37 > > 1 > > 44 > > 45 > > 46 > > 48 > > 1 > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >
Also, *if* this is homework, don't post at all, as this list is not for doing homework (though, for better or worse, sometimes such help is provided). -- Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Wed, Apr 19, 2017 at 6:20 AM, Rui Barradas <ruipbarradas at sapo.pt> wrote:> Hello, > > Maybe package psych, function multi.hist is what you want. > > https://cran.r-project.org/web/packages/psych/index.html > > And don't post in HTML, your data is unreadable. > > Hope this helps, > > Rui Barradas > > > Em 19-04-2017 14:05, prateek pande escreveu: >> >> Hi, >> >> I have a data as mentioned below(at the bottom) >> >> Now out of that data i have to create multiple histograms in a single view >> in R. On that histogram i need on x -axis binned data with Breaks 10 and >> on y axis event rate . Here churn is dependent variable. >> >> >> *for example, for mou_mean , on x -axis on histogram i need Bins(mou_mean) >> and on y - axis in need Churn%age. * >> *Bins(mou_mean)* >> >> *Churn %age* >> 23-43 0.23% >> 33-53 0.5% >> 43-63 0.3% >> 53-73 0.4% >> 63-83 0.7% >> 83-103 0.8% >> >> Please help >> >> >> *mou_mean* >> >> *totalmrc_mean* >> >> *rev_range* >> >> *mou_range* >> >> *Churn* >> >> 23 >> >> 24 >> >> 25 >> >> 27 >> >> 1 >> >> 45 >> >> 46 >> >> 47 >> >> 49 >> >> 1 >> >> 43 >> >> 44 >> >> 45 >> >> 47 >> >> 1 >> >> 45 >> >> 46 >> >> 47 >> >> 49 >> >> 0 >> >> 56 >> >> 57 >> >> 58 >> >> 60 >> >> 0 >> >> 67 >> >> 68 >> >> 69 >> >> 71 >> >> 1 >> >> 67 >> >> 68 >> >> 69 >> >> 71 >> >> 0 >> >> 44 >> >> 45 >> >> 46 >> >> 48 >> >> 1 >> >> 33 >> >> 34 >> >> 35 >> >> 37 >> >> 0 >> >> 90 >> >> 91 >> >> 92 >> >> 94 >> >> 1 >> >> 87 >> >> 88 >> >> 89 >> >> 91 >> >> 1 >> >> 76 >> >> 77 >> >> 78 >> >> 80 >> >> 1 >> >> 33 >> >> 34 >> >> 35 >> >> 37 >> >> 1 >> >> 44 >> >> 45 >> >> 46 >> >> 48 >> >> 1 >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
Hi Prateek,
There is some difficulty with including the empty categories in the
factors generated. I couldn't get these even with drop=FALSE, so I had
to go through the "xtab" function. You can do it with the
"table"
function in the base package, but it is a little more trouble. See if
this is what you want>
ppdat<-read.table(text="mou_mean,totalmrc_mean,rev_range,mou_range,Churn
23,24,25,27,1
45,46,47,49,1
43,44,45,47,1
45,46,47,49,0
56,57,58,60,0
67,68,69,71,1
67,68,69,71,0
44,45,46,48,1
33,34,35,37,0
90,91,92,94,1
87,88,89,91,1
76,77,78,80,1
33,34,35,37,1
44,45,46,48,1",
sep=",",header=TRUE)
ppdat$mou_mean_cut<-cut(ppdat$mou_mean,breaks=seq(23,103,10),include.lowest=TRUE)
ppdat$totalmrc_mean_cut<-cut(ppdat$totalmrc_mean,breaks=seq(23,103,10))
ppdat$rev_range_cut<-cut(ppdat$rev_range,breaks=seq(23,103,10))
ppdat$mou_range_cut<-cut(ppdat$mou_range,breaks=seq(23,103,10))
library(prettyR)
ppx<-xtab(Churn~mou_mean_cut,ppdat)
mou_mean_agg<-100*ppx$counts[2,]/colSums(ppx$counts)
mou_mean_agg[is.nan(mou_mean_agg)]<-0
ppx<-xtab(Churn~totalmrc_mean_cut,ppdat)
totalmrc_mean_agg<-100*ppx$counts[2,]/colSums(ppx$counts)
totalmrc_mean_agg[is.nan(totalmrc_mean_agg)]<-0
ppx<-xtab(Churn~rev_range_cut,ppdat)
rev_range_agg<-100*ppx$counts[2,]/colSums(ppx$counts)
rev_range_agg[is.nan(rev_range_agg)]<-0
ppx<-xtab(Churn~mou_range_cut,ppdat)
mou_range_agg<-100*ppx$counts[2,]/colSums(ppx$counts)
mou_range_agg[is.nan(mou_range_agg)]<-0
ppmat<-matrix(c(mou_mean_agg,totalmrc_mean_agg,rev_range_agg,
mou_range_agg),nrow=4,byrow=TRUE)
library(plotrix)
barp(ppmat,col=rainbow(4),main="Multiple histogram",ylim=c(0,105),
names.arg=levels(ppdat$mou_mean_cut),ylab="Percent churn")
legend(2.5,107,c("mou_mean","totalmrc_mean","rev_range","mou_range"),
fill=rainbow(4))
Jim
On Wed, Apr 19, 2017 at 11:05 PM, prateek pande <prtkpande at gmail.com>
wrote:> Hi,
>
> I have a data as mentioned below(at the bottom)
>
> Now out of that data i have to create multiple histograms in a single view
> in R. On that histogram i need on x -axis binned data with Breaks 10 and
> on y axis event rate . Here churn is dependent variable.
>
>
> *for example, for mou_mean , on x -axis on histogram i need Bins(mou_mean)
> and on y - axis in need Churn%age. *
> *Bins(mou_mean)*
>
> *Churn %age*
> 23-43 0.23%
> 33-53 0.5%
> 43-63 0.3%
> 53-73 0.4%
> 63-83 0.7%
> 83-103 0.8%
>
> Please help
>
>
> *mou_mean*
>
> *totalmrc_mean*
>
> *rev_range*
>
> *mou_range*
>
> *Churn*
>
> 23
>
> 24
>
> 25
>
> 27
>
> 1
>
> 45
>
> 46
>
> 47
>
> 49
>
> 1
>
> 43
>
> 44
>
> 45
>
> 47
>
> 1
>
> 45
>
> 46
>
> 47
>
> 49
>
> 0
>
> 56
>
> 57
>
> 58
>
> 60
>
> 0
>
> 67
>
> 68
>
> 69
>
> 71
>
> 1
>
> 67
>
> 68
>
> 69
>
> 71
>
> 0
>
> 44
>
> 45
>
> 46
>
> 48
>
> 1
>
> 33
>
> 34
>
> 35
>
> 37
>
> 0
>
> 90
>
> 91
>
> 92
>
> 94
>
> 1
>
> 87
>
> 88
>
> 89
>
> 91
>
> 1
>
> 76
>
> 77
>
> 78
>
> 80
>
> 1
>
> 33
>
> 34
>
> 35
>
> 37
>
> 1
>
> 44
>
> 45
>
> 46
>
> 48
>
> 1
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
Prateek, I'm shocked this isn't answered previously, but you can try the par command (mfrow and mfcol parameters) and par(mfrow=n, mfcol=m) will generate n plots per row and m rows per column. For subsequent questions, please do a search through the archives before asking. -- H On 19 April 2017 at 06:05, prateek pande <prtkpande at gmail.com> wrote:> Hi, > > I have a data as mentioned below(at the bottom) > > Now out of that data i have to create multiple histograms in a single view > in R. On that histogram i need on x -axis binned data with Breaks 10 and > on y axis event rate . Here churn is dependent variable. > > > *for example, for mou_mean , on x -axis on histogram i need Bins(mou_mean) > and on y - axis in need Churn%age. * > *Bins(mou_mean)* > > *Churn %age* > 23-43 0.23% > 33-53 0.5% > 43-63 0.3% > 53-73 0.4% > 63-83 0.7% > 83-103 0.8% > > Please help > > > *mou_mean* > > *totalmrc_mean* > > *rev_range* > > *mou_range* > > *Churn* > > 23 > > 24 > > 25 > > 27 > > 1 > > 45 > > 46 > > 47 > > 49 > > 1 > > 43 > > 44 > > 45 > > 47 > > 1 > > 45 > > 46 > > 47 > > 49 > > 0 > > 56 > > 57 > > 58 > > 60 > > 0 > > 67 > > 68 > > 69 > > 71 > > 1 > > 67 > > 68 > > 69 > > 71 > > 0 > > 44 > > 45 > > 46 > > 48 > > 1 > > 33 > > 34 > > 35 > > 37 > > 0 > > 90 > > 91 > > 92 > > 94 > > 1 > > 87 > > 88 > > 89 > > 91 > > 1 > > 76 > > 77 > > 78 > > 80 > > 1 > > 33 > > 34 > > 35 > > 37 > > 1 > > 44 > > 45 > > 46 > > 48 > > 1 > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/ > posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >-- OpenPGP: https://sks-keyservers.net/pks/lookup?op=get&search=0xFEBAD7FFD041BBA1 If you wish to request my time, please do so using http://bit.ly/hd1ScheduleRequest. Si vous voudrais faire connnaisance, allez a http://bit.ly/hd1ScheduleRequest. <https://sks-keyservers.net/pks/lookup?op=get&search=0xFEBAD7FFD041BBA1>Sent from my mobile device Envoye de mon portable [[alternative HTML version deleted]]
HI Hasan, Thanks for sharing the solution. Really appreciate it. But i was reading somewhere that we cannot use par with ggplot 2 . we can only use grid extra to have multiple plots in a single view. Is it right? Regards Prateek On Thu, Apr 20, 2017 at 10:47 AM, Hasan Diwan <hasan.diwan at gmail.com> wrote:> Prateek, > I'm shocked this isn't answered previously, but you can try the par > command (mfrow and mfcol parameters) and par(mfrow=n, mfcol=m) will > generate n plots per row and m rows per column. For subsequent questions, > please do a search through the archives before asking. -- H > > On 19 April 2017 at 06:05, prateek pande <prtkpande at gmail.com> wrote: > >> Hi, >> >> I have a data as mentioned below(at the bottom) >> >> Now out of that data i have to create multiple histograms in a single view >> in R. On that histogram i need on x -axis binned data with Breaks 10 and >> on y axis event rate . Here churn is dependent variable. >> >> >> *for example, for mou_mean , on x -axis on histogram i need Bins(mou_mean) >> and on y - axis in need Churn%age. * >> *Bins(mou_mean)* >> >> *Churn %age* >> 23-43 0.23% >> 33-53 0.5% >> 43-63 0.3% >> 53-73 0.4% >> 63-83 0.7% >> 83-103 0.8% >> >> Please help >> >> >> *mou_mean* >> >> *totalmrc_mean* >> >> *rev_range* >> >> *mou_range* >> >> *Churn* >> >> 23 >> >> 24 >> >> 25 >> >> 27 >> >> 1 >> >> 45 >> >> 46 >> >> 47 >> >> 49 >> >> 1 >> >> 43 >> >> 44 >> >> 45 >> >> 47 >> >> 1 >> >> 45 >> >> 46 >> >> 47 >> >> 49 >> >> 0 >> >> 56 >> >> 57 >> >> 58 >> >> 60 >> >> 0 >> >> 67 >> >> 68 >> >> 69 >> >> 71 >> >> 1 >> >> 67 >> >> 68 >> >> 69 >> >> 71 >> >> 0 >> >> 44 >> >> 45 >> >> 46 >> >> 48 >> >> 1 >> >> 33 >> >> 34 >> >> 35 >> >> 37 >> >> 0 >> >> 90 >> >> 91 >> >> 92 >> >> 94 >> >> 1 >> >> 87 >> >> 88 >> >> 89 >> >> 91 >> >> 1 >> >> 76 >> >> 77 >> >> 78 >> >> 80 >> >> 1 >> >> 33 >> >> 34 >> >> 35 >> >> 37 >> >> 1 >> >> 44 >> >> 45 >> >> 46 >> >> 48 >> >> 1 >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > > > > -- > OpenPGP: https://sks-keyservers.net/pks/lookup?op> get&search=0xFEBAD7FFD041BBA1 > If you wish to request my time, please do so using http://bit.ly/ > hd1ScheduleRequest. > Si vous voudrais faire connnaisance, allez a http://bit.ly/ > hd1ScheduleRequest. > > <https://sks-keyservers.net/pks/lookup?op=get&search=0xFEBAD7FFD041BBA1>Sent > from my mobile device > Envoye de mon portable >[[alternative HTML version deleted]]