[R] Removing NAs from dataframe (for use in Vioplot)
Tom Wright
tom at maladmin.com
Sun May 1 04:03:59 CEST 2016
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]]
More information about the R-help
mailing list