Chris Li
2009-Sep-15 23:24 UTC
[R] How to calculate min of a dataset that contains empty column
Hi all, I have got a dataset like the following: a b c 1 5 2 3 7 I am taking the minimum of each column and use it as the minimum of the y-axis of my graphs. My scripts (simplified version) are like the following: f<-array f[1]=a f[2]=b f[3]=c for i in 1:3 name=f[i] ymin<-min(dataset$f[i]) plot(x,y,ylim=c(ymin,100)) The script stops at b, because the min function returns inf value. What can I do to overcome it? Many thanks, Chris -- View this message in context: http://www.nabble.com/How-to-calculate-min-of-a-dataset-that-contains-empty-column-tp25463449p25463449.html Sent from the R help mailing list archive at Nabble.com.
timholland
2009-Sep-16 06:50 UTC
[R] How to calculate min of a dataset that contains empty column
Presumably there is no reason to attempt plotting an empty column, so best approach is probably to remove the columns that contain no values. Try> f.temp<-f[,-which(apply(f,2,function(x)all(is.na(x))))]and then run your script for f.temp instead of the original f. Also, you may find you have to use> min(x, na.rm=T)instead of just> min(x)for any other columns that contain NA values as well as real values. Chris Li wrote:> > Hi all, > > I have got a dataset like the following: > > a b c > 1 5 > 2 > 3 7 > > I am taking the minimum of each column and use it as the minimum of the > y-axis of my graphs. My scripts (simplified version) are like the > following: > > f<-array > f[1]=a > f[2]=b > f[3]=c > for i in 1:3 > name=f[i] > ymin<-min(dataset$f[i]) > plot(x,y,ylim=c(ymin,100)) > > The script stops at b, because the min function returns inf value. What > can I do to overcome it? > > Many thanks, > Chris >-- View this message in context: http://www.nabble.com/How-to-calculate-min-of-a-dataset-that-contains-empty-column-tp25463449p25466916.html Sent from the R help mailing list archive at Nabble.com.
Tal Galili
2009-Sep-16 07:55 UTC
[R] How to calculate min of a dataset that contains empty column
Let's say your data.frame is called xx Then try: apply(xx,2, function(x) {min(na.omit(x))} ) Does it work ? On Wed, Sep 16, 2009 at 2:24 AM, Chris Li <chrisli@austwaterenv.com.au>wrote:> > Hi all, > > I have got a dataset like the following: > > a b c > 1 5 > 2 > 3 7 > > I am taking the minimum of each column and use it as the minimum of the > y-axis of my graphs. My scripts (simplified version) are like the > following: > > f<-array > f[1]=a > f[2]=b > f[3]=c > for i in 1:3 > name=f[i] > ymin<-min(dataset$f[i]) > plot(x,y,ylim=c(ymin,100)) > > The script stops at b, because the min function returns inf value. What can > I do to overcome it? > > Many thanks, > Chris > -- > View this message in context: > http://www.nabble.com/How-to-calculate-min-of-a-dataset-that-contains-empty-column-tp25463449p25463449.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@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. >-- ---------------------------------------------- My contact information: Tal Galili Phone number: 972-50-3373767 FaceBook: Tal Galili My Blogs: http://www.r-statistics.com/ http://www.talgalili.com http://www.biostatistics.co.il [[alternative HTML version deleted]]