which(df == 1, arr.ind=TRUE) is useful here:

> df <- matrix(c(0,NA,0,0,0,1,1,1,0,0,1,0,0,0,NA), nrow=3)
> df
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    0    1    0    0
[2,]   NA    0    1    1    0
[3,]    0    1    0    0   NA

> ## Identify (row,col) indices for 1:s
> idxs <- which(df == 1, arr.ind=TRUE)
> idxs
     row col
[1,]   3   2
[2,]   1   3
[3,]   2   3
[4,]   2   4

> ## Drop any in the last column
> idxs <- idxs[idxs[,"col"] < ncol(df), , drop=FALSE]
> idxs
     row col
[1,]   3   2
[2,]   1   3
[3,]   2   3
[4,]   2   4

> idxs[,"col"] <- idxs[,"col"] + 1L
> idxs
     row col
[1,]   3   3
[2,]   1   4
[3,]   2   4
[4,]   2   5

> df[idxs] <- 1
> df
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    0    1    1    0
[2,]   NA    0    1    1    1
[3,]    0    1    1    0   NA

/Henrik

On Thu, Sep 22, 2016 at 8:13 PM, Jim Lemon <drjimle...@gmail.com> wrote:
> Hi Saba,
> Try this:
>
> df<-matrix(c(0,NA,0,0,0,1,1,1,0,0,1,0,0,0,NA),nrow=3)
> dimdf<-dim(df)
> df1<-df==1
> df[cbind(rep(FALSE,dimdf[1]),df1[,-dimdf[2]])]<-1
>
> Jim
>
>
>
> On Fri, Sep 23, 2016 at 12:27 PM, Saba Sehrish via R-help
> <r-help@r-project.org> wrote:
>> Hi
>>
>> I have a matrix that contains 1565 rows and 132 columns. All the 
>> observations are either "0" or "1". Now I want to keep all the observations 
>> same but just one change, i.e. whenever there is "1", the very next value in 
>> the same row should become "1". Please see below as a sample:
>>
>>>df
>>
>>      0    0    1    0    0
>>     NA    0    1    1    0
>>      0    1    0    0    NA
>>
>> What I want is:
>>
>>
>>     0    0    1    1    0
>>    NA    0    1    1    1
>>     0    1    1    0    NA
>>
>>
>>
>> I shall be thankful for the reply.
>>
>>
>> Saba
>>
>> ______________________________________________
>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
>
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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