[R] How to keep plot title same as column name using apply/sapply?
C W
tmrsg11 at gmail.com
Fri Apr 19 01:00:50 CEST 2013
Thanks, Bert and Arun!
Arun, I've always struggled with the difference between
sapply/mapply/tapply, thanks for the two very elegant examples. Very
helpful! :)
Mike
On Thu, Apr 18, 2013 at 6:52 PM, arun <smartpink111 at yahoo.com> wrote:
> #or
> par(mfrow=c(3,2))
>
> sapply(seq_len(ncol(a)),function(i) hist(a[,i],main=colnames(a)[i],xlab="x"))
>
>
> A.K.
>
>
>
> ----- Original Message -----
> From: arun <smartpink111 at yahoo.com>
> To: C W <tmrsg11 at gmail.com>
> Cc: R help <r-help at r-project.org>
> Sent: Thursday, April 18, 2013 6:49 PM
> Subject: Re: [R] How to keep plot title same as column name using apply/sapply?
>
> Hi,
> Try:
> par(mfrow=c(3, 2))
> mapply(hist,as.data.frame(a),main=colnames(a),xlab="x")
> A.K.
>
>
>
>
> ----- Original Message -----
> From: C W <tmrsg11 at gmail.com>
> To: r-help <r-help at r-project.org>
> Cc:
> Sent: Thursday, April 18, 2013 6:30 PM
> Subject: [R] How to keep plot title same as column name using apply/sapply?
>
> Dear list,
> I am trying to plot histogram of a 10 by 5 matrix by columns.
>
> What is a good way to paste the column names?
>
> dput(a)
> structure(c(0.891856482875103, 0.249593821948295, 0.0385066520473322,
> 0.109098868876336, 0.238035894186719, 0.971470380855763, 0.168018536530906,
> 0.941457062296419, -0.285381460315397, -0.0229335863796271, -20138.175683257,
> 28190.7238887329, 8521.44473371867, 37565.8599592035, -61036.6139527803,
> -57278.42539968, 24284.2860193156, 57470.8275786857, -5035.05919672665,
> -48223.3060594833, 0.105003428645432, 0.0385466025676578, 0.130895042931661,
> 0.0682065344415605, 0.155879093753174, 0.0598988083656877, 0.121624303748831,
> 0.120134906983003, 0.159434637567028, 0.0144033632241189, 6133.33965969139,
> 5363.20408479208, 22432.8473630982, 10627.5697498379, 273.481263455154,
> 8326.07386291277, 133.117356408579, 4108.23352922685, 643.558745779806,
> 5532.10081652847, -4512.80115728638, -5839.1178791698, 7341.05048720629,
> -1299.37511688102, -13151.5558568303, -6442.78100296569, -975.590624649323,
> 298.440121450997, 10808.9562034117, 3210.22497745543), .Dim = c(10L,
> 5L), .Dimnames = list(NULL, c("Tmrw", "hRm2", "vm", "Fluid",
> "SM")))
> par(mfrow=c(3, 2))
> apply(a, 2, function(x){hist(x, main="column name here")})
>
> This plots, but doesn't plot title.
>
> But,
>> apply(a,2,function(x){colnames(x)})
> NULL
>
> Maybe the column names is lost? But, I see column names here.
>
>> apply(a,2,function(x){is.vector(x)})
> Tmrw hRm2 vm Fluid SM
> TRUE TRUE TRUE TRUE TRUE
>
> My understanding is that, apply() takes data matrix column by column,
> and pastes names back on at the end? But I need it for plot title,
> how should I change my code?
>
> Thanks,
> Mike
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
More information about the R-help
mailing list