[R] Removing NAs from dataframe (for use in Vioplot)

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Sun May 1 04:59:28 CEST 2016


But require() should not be used interchangeably with library()... the return value from require() should always be tested. 
-- 
Sent from my phone. Please excuse my brevity.

On May 1, 2016 3:03:59 AM GMT+01:00, Tom Wright <tom at maladmin.com> wrote:
>Never let it be said there's only one way to do a thing:
>
>require(ggplot2)
>require(dplyr)
>
>#create a sample dataset
>dat <- data.frame(y1=sample(c(1:10,NA),20,replace=TRUE),
>                          y2=sample(c(1:10,NA),20,replace=TRUE),
>                          y3=sample(c(1:10,NA),20,replace=TRUE))
>
># convert from wide to long
>dat <- melt(dat)
>
># add the counts as a label
>dat <- merge(dat,
>          group_by(dat,variable) %>%
>               summarise(lab=paste0('n=',length(na.omit(value)))))
>
># do the plot
>ggplot(dat,aes(x=variable,y=value)) +
>    geom_violin() +
>    geom_text(aes(y=max(value,na.rm=TRUE)/2,label=lab))
>
>
># apologies to David Winsemius for directing this answer to him, I'll
>work
>out how to use email one day.
>
>On Sat, Apr 30, 2016 at 12:58 PM, Mike Smith <mike at hsm.org.uk> wrote:
>
>> Hi
>>
>> First post and a relative R newbie....
>>
>> I am using the vioplot library to produce some violin plots. I have
>an
>> input CSV with columns off irregular length that contain NAs. I want
>to
>> strip the NAs out and produce a multiple violin plot automatically
>labelled
>> using the headers. At the moment I do this
>>
>> Code:
>> ds1 = read.csv("http://www.lecturematerials.co.uk/data/spelling.csv")
>> library(vioplot)
>> y6<-na.omit(ds1$y6)
>> y5<-na.omit(ds1$y5)
>> y4<-na.omit(ds1$y4)
>> y3<-na.omit(ds1$y3)
>> y2<-na.omit(ds1$y2)
>> y1<-na.omit(ds1$y1)
>> vioplot(y6, y5, y4,y3,y2,y1,horizontal=TRUE, names=c("Y6",
>> "Y5","Y4","Y3","Y2","Y1"), col = "lightblue")
>>
>>
>> Two queries:
>>
>> 1. Is there a more elegant way of automatically stripping the NAs,
>passing
>> the columns to the function along with the header names??
>>
>> 2. Can I easily add the sample size to each violin plotted??
>>
>> thanks
>>
>> mike
>>
>>
>>
>> ---
>> Mike Smith
>>
>> ______________________________________________
>> 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.
>>
>
>	[[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.

	[[alternative HTML version deleted]]



More information about the R-help mailing list