low 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)
>>&
.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)
uot;",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.
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]))
e
> Subject: Re: [R] First value in a row
>
> Hi Henrik and Arun,
>
> I now understand the script you provided. Very smart solution I think.
> I wonder, however, if there is an alternative way as to count the last
> number in a row?.
> For instance, considering the followi
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
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 h
n(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 -
&
unlap tibco.com
> -Original Message-
> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On
> Behalf Of Henrik Singmann
> Sent: Tuesday, July 24, 2012 1:40 AM
> To: r-h...@stat.math.ethz.ch
> Subject: Re: [R] First value in a row
>
> Hi Camilo,
>
>
- Original Message -
From: Camilo Mora
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
0110 NA NA .1
lt;-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
To: r-help@r-project.org
Cc:
Sent: Tuesday, July 24, 2012 2:48 AM
Subject: [R] First value
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
0110 NA NA .1
0111 NA .2 .3
0112 .4 .5 .6
"
Hi.
This is likely a trivial problem but have not found a solution.
Imagine the following dataframe:
Lat Lon x1 x2 x3
0110 NA NA .1
0111 NA .2 .3
0112 .4 .5 .6
I want to generate another column that consist of the first value in
each row from columns x1 to
The various which(is.na) sort of things are fine, but this problem is
just screaming to be solved with rle().
Just do rle(is.na(inc))$lengths[1]+1
> On Tue, Jun 23, 2009 at 11:00 AM, Alfredo Alessandrini
> wrote:
>
> > Hi,
> >
> > I've a vector like this:
> >
> > > inc
> > [1]N
Hi
r-help-boun...@r-project.org napsal dne 23.06.2009 16:04:49:
> Try this:
>
> which(diff(is.na(inc)) < 0)
Shall it be
which(diff(is.na(inc)) < 0)+1
or
sum(is.na(inc))+1
or any other suitable construct with is.na
Regards
Petr
>
> On Tue, Jun 23, 2009 at 11:00 AM, Alfredo Alessandrini
I think what you mean is that you want to find the position of the first
non-NA value in the vector. is.na returns a boolean vector of the NA
values, so:
xx <- c(NA,NA,NA,2,3,NA,4)
> which(!is.na(xx))[1]
[1] 4
The other proposed solution,
which(diff(is.na(inc)) < 0)
is incorrect:
> which(
You can use this:
inc[which(!is.na(inc))[1]]
On Tue, Jun 23, 2009 at 11:08 AM, Alfredo Alessandrini wrote:
> I've the NA value also between the value of the vector:
>
> > inc
> [1]NANANANANANANA
> [8]NANANA
Alfredo Alessandrini
Gesendet: Tuesday, June 23, 2009 10:00 AM
An: r-help@r-project.org
Betreff: [R] first value...
Hi,
I've a vector like this:
> inc
[1]NANANANANANANA
[8]NANANANANA
On Tue, Jun 23, 2009 at 04:00:21PM +0200, Alfredo Alessandrini wrote:
> I've a vector like this:
>
> > inc
> [1]NANANANANANANA
> [8]NANANANANANANA
> [15]NANA
Alfredo Alessandrini wrote:
Hi,
I've a vector like this:
inc
[1]NANANANANANANA
[8]NANANANANANANA
[15]NANANANANANA
I've the NA value also between the value of the vector:
> inc
[1]NANANANANANANA
[8]NANANANANANANA
[15]NANANANANANANA
[22]
On Jun 23, 2009, at 10:00 AM, Alfredo Alessandrini wrote:
Hi,
I've a vector like this:
inc
[1]NANANANANA
NANA
[8]NANANANANA
NANA
[15]NANANANA
Now is ok...thanks.
Alfredo
2009/6/23 Alfredo Alessandrini :
> I've the NA value also between the value of the vector:
>
>> inc
> [1] NA NA NA NA NA NA NA
> [8] NA NA NA NA NA NA NA
> [15]
Try this:
which(diff(is.na(inc)) < 0)
On Tue, Jun 23, 2009 at 11:00 AM, Alfredo Alessandrini wrote:
> Hi,
>
> I've a vector like this:
>
> > inc
> [1]NANANANANANANA
> [8]NANANANANANA
Hi,
I've a vector like this:
> inc
[1]NANANANANANANA
[8]NANANANANANANA
[15]NANANANANANANA
[22]NANAN
24 matches
Mail list logo