On Jun 27, 2011, at 12:56 PM, Christopher Desjardins wrote:

Hi,
I have the following data management issue. I am trying to combine multiple years of ethnicity data into one variable called ethnic. The data looks
similar to the following

id    ethnic07    ethnic08   ethnic09    ethnic10
1          1              1             1                1
2          1              1             2                2
3          3              4             4                NA
4          2              3           NA                NA

So, what I'd like to do is create a variable called 'ethnic' and I'd like to
have this variable be filled with the most recent data available. So
ethnic10 would have the highest priority, then ethnic09, followed by
ethnic08, and finally ethnic07. So the ethnic variable based on the data
above would look like the following:

ethnic
  1
  2
  4
  3

rd.txt <- function(txt, header=TRUE, ...) {
     rd <- read.table(textConnection(txt), header=header, ...)
       closeAllConnections()
     rd }

> tail_noNA <- function(x,n) tail(x[!is.na(x)], n)
> tail_noNA(c(1,2,3,NA),1)
[1] 3
> dat <-rd.txt("id    ethnic07    ethnic08   ethnic09    ethnic10
+ 1          1              1             1                1
+ 2          1              1             2                2
+ 3          3              4             4                NA
+ 4          2              3           NA                NA")
> apply(dat, 1, tail_noNA, 1)
[1] 1 2 4 3

> as.matrix(apply(dat, 1, tail_noNA, 1))
     [,1]
[1,]    1
[2,]    2
[3,]    4
[4,]    3


I thought an ifelse() statement might work but I seem to be writing over my
data every time I do this.

Thanks,
Chris

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

David Winsemius, MD
West Hartford, CT

______________________________________________
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