[R] basic help

Chuck Cleland ccleland at optonline.net
Thu Mar 20 09:39:59 CET 2008


On 3/20/2008 12:59 AM, מוטי אסולין wrote:
> Hi,
> I am a new R user (used SPSS for many years) and I need help. 
> I have a data frame mydata with 8 variables m2008:m2001
> I wanted to add a new variable mydata$firstvalid that tells me what is the
> first non missing variable for each case (without using for-next).
> I tried many variations of this: 
> lst  = paste("m",2008:2001,sep="")
> mydata$firstvalid = match(FALSE, is.na(mydata[lst]),0)
> Instead of a different value for each case, I get the same value for all
> cases - the first non missing value in the whole data frame.
> Many thanks,
> Moti Assouline 

X <- as.data.frame(matrix(sample(c(NA,NA,1:5), 100, replace=TRUE), ncol=5))

X
    V1 V2 V3 V4 V5
1  NA NA NA NA NA
2   2  4 NA  3  3
3   2  3 NA NA NA
4   4  3  2 NA  2
5   2  3  2 NA NA
6   5  3  2  5 NA
7  NA  5 NA  3  3
8   3 NA  3  2  2
9   4  5  5 NA  3
10  2  5 NA NA  1
11  1  2 NA NA  2
12  2  4 NA  5  2
13 NA  5 NA NA NA
14  5  5  4  5 NA
15  2 NA  5  2 NA
16 NA  1  4 NA NA
17 NA  5 NA  5 NA
18  5  2 NA  4  1
19  3  5  2  4  5
20  4 NA  2  1 NA

X$FVALID <- apply(is.na(X), 1, function(x){ifelse(all(x), 0, which.min(x))})

X
    V1 V2 V3 V4 V5 FVALID
1  NA NA NA NA NA      0
2   2  4 NA  3  3      1
3   2  3 NA NA NA      1
4   4  3  2 NA  2      1
5   2  3  2 NA NA      1
6   5  3  2  5 NA      1
7  NA  5 NA  3  3      2
8   3 NA  3  2  2      1
9   4  5  5 NA  3      1
10  2  5 NA NA  1      1
11  1  2 NA NA  2      1
12  2  4 NA  5  2      1
13 NA  5 NA NA NA      2
14  5  5  4  5 NA      1
15  2 NA  5  2 NA      1
16 NA  1  4 NA NA      2
17 NA  5 NA  5 NA      2
18  5  2 NA  4  1      1
19  3  5  2  4  5      1
20  4 NA  2  1 NA      1

> Checked by AVG. 
> 
> 20:52
> 
> ______________________________________________
> 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.

-- 
Chuck Cleland, Ph.D.
NDRI, Inc. (www.ndri.org)
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894



More information about the R-help mailing list