-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
Behalf Of Henrik Singmann
Sent: Tuesday, July 24, 2012 1:40 AM
To: r-help at stat.math.ethz.ch
Subject: Re: [R] First value in a row
Hi Camilo,
as you want to work on all rows, apply() is your friend.
In the following, I use an anonymous function getting the first non-na
value while looping over each row:
dat <- read.table(text = "
Lat Lon x1 x2 x3
01 10 NA NA .1
01 11 NA .2 .3
01 12 .4 .5 .6
", header = TRUE)
apply(dat[,-(1:2)], 1, function(x) x[!is.na(x)][1])
gives:
[1] 0.1 0.2 0.4
Cheers,
Henrik
Camilo Mora schrieb:
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