Hi,

As Arun's idea was also my first idea let me pinpoint the problem of this 
solution.
It only works if the data in question (i.e., columns x1 to x3) follow the 
pattern of the example data insofar that the NAs form a triangle like 
structure. This is so because it loops over columns instead of rows and takes 
advantage of the triangle NA structure.

For example, slightly changing the data leads to a result that does not follow 
the description of Camilo seem to want:

dat1<-read.table(text="
Lat  Lon  x1  x2  x3
01    10  NA  NA  .1
01    11  .4  NA  .3
01    12  NA  .5  .6
",sep="",header=TRUE)

# correct answer from description would be .1, .4, .5

# arun's solution:
data.frame(dat1,NewColumn=rev(unlist(lapply(dat1[,3:5],function(x) 
x[!is.na(x)][1]))))

#  x3  x2  x1
# 0.1 0.5 0.4

# my solution:
apply(dat1[,-(1:2)], 1, function(x) x[!is.na(x)][1])

# [1] 0.1 0.4 0.5

So the question is, what you want and how the data looks.

Cheers,
Henrik


Am 24.07.2012 14:27, schrieb arun:
Hi,

Try this:

dat1<-read.table(text="
Lat  Lon  x1  x2  x3
01    10  NA  NA  .1
01    11  NA  .2  .3
01    12  .4  .5  .6
",sep="",header=TRUE)

dat2<-dat1[,3:5]
  dat3<-data.frame(dat1,NewColumn=rev(unlist(lapply(dat2,function(x) 
x[!is.na(x)][1]))))
row.names(dat3)<-1:nrow(dat3)
  dat3
   Lat Lon  x1  x2  x3 NewColumn
1   1  10  NA  NA 0.1       0.1
2   1  11  NA 0.2 0.3       0.2
3   1  12 0.4 0.5 0.6       0.4

A.K.




----- Original Message -----
From: Camilo Mora <cm...@dal.ca>
To: r-help@r-project.org
Cc:
Sent: Tuesday, July 24, 2012 2:48 AM
Subject: [R] First value in a row

Hi.

This is likely a trivial problem but have not found a solution. Imagine the 
following dataframe:

Lat   Lon  x1   x2  x3
01    10   NA   NA  .1
01    11   NA   .2  .3
01    12   .4   .5  .6

I want to generate another column that consist of the first value in each row 
from columns x1 to x3. That is

NewColumn
.1
.2
.4

Any input greatly appreciated,

Thanks,

Camilo


Camilo Mora, Ph.D.
Department of Geography, University of Hawaii

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



--
Dipl. Psych. Henrik Singmann
PhD Student
Albert-Ludwigs-Universität Freiburg, Germany
http://www.psychologie.uni-freiburg.de/Members/singmann

______________________________________________
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