[R] First value in a row
Henrik Singmann
henrik.singmann at psychologie.uni-freiburg.de
Tue Jul 24 10:40:10 CEST 2012
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
>
More information about the R-help
mailing list