one way is the following:

DF <- data.frame(x = c(rep(1,3),rep(2,4),rep(3,5)),
    y = rnorm(12), z = c(3,4,5,NA,NA,NA,NA,1,2,1,2,1),
    w = c(1,2,3,3,4,3,5,NA,5,NA,7,8)
)

na.ind <- sapply(DF[-1], is.na)
na.ind <- ave(na.ind, rep(DF$x, 3), col(na.ind)) < 0.5
DF[apply(na.ind, 1, all), ]


I hope it helps.

Best,
Dimitris


On 2/21/2011 12:20 PM, D. Alain wrote:
Dear R-List,

I have a dataframe with one grouping variable (x) and three response variables 
(y,z,w).

df<-data.frame(x=c(rep(1,3),rep(2,4),rep(3,5)),y=rnorm(12),z=c(3,4,5,NA,NA,NA,NA,1,2,1,2,1),w=c(1,2,3,3,4,3,5,NA,5,NA,7,8))

df
      x            y            z     w
      1      0.29306106  3      1
      1      0.54797780  4      2
      1     -1.38365548  5      3
      2     -0.20407986 NA    3
      2     -0.87322574 NA    4
      2     -1.23356250 NA    3
      2      0.43929374 NA    5
      3      1.16405483  1    NA
      3      1.07083464  2     5
      3     -0.67463191  1    NA
      3     -0.66410552  2     7
      3     -0.02543358  1     8

Now I want to make a new dataframe df.sub comprising only cases pertaining to
  groups, where the overall proportion of NAs in either of the response 
variables y,z,w does not exceed 50%.

In the above example, e.g., this would be a dataframe with all cases of the 
groups 1 and 3 (since there are 100% NAs in z for group 2)

df.sub
      x            y            z     w
      1      0.29306106   3      1
      1      0.54797780   4      2
      1     -1.38365548   5      3
       3      1.16405483   1    NA
      3      1.07083464   2     5
      3     -0.67463191   1    NA
      3     -0.66410552   2     7
      3     -0.02543358   1     8

Please excuse me if the problem has already been treated somewhere, but so far 
I was not able to find the right threat for my question in RSeek.

Can anyone help?

Thanks in advance!

D. Alain



        [[alternative HTML version deleted]]




______________________________________________
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.

--
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center

Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014
Web: http://www.erasmusmc.nl/biostatistiek/

______________________________________________
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.

Reply via email to