I have a df with a vector v. For each element of the vector, I want to know whether the i-2nd element is the same as the ith element. For example: given v=c(A,C,D,C) the result should be: FALSE,FALSE,FALSE,TRUE. I attempted something using indexing in a for loop such as (bad, incorrect example): for (i in v){ if [i]==[i-2] print T else print F } However, this is obviously wrong. Can someone provide a nice way to solve this?

Homework?? There is a no homework policy on this list. Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Sun, Jul 23, 2017 at 11:43 AM, Davide Piffer <pifferdavide at gmail.com> wrote:> I have a df with a vector v. For each element of the vector, I want to > know whether the i-2nd element is the same as the ith element. For > example: > given > v=c(A,C,D,C) the result should be: > FALSE,FALSE,FALSE,TRUE. > > I attempted something using indexing in a for loop such as (bad, > incorrect example): > for (i in v){ > if [i]==[i-2] print T > else print F > } > > However, this is obviously wrong. > Can someone provide a nice way to solve this? > > ______________________________________________ > R-help at 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.

Hi, On 07/23/2017 11:43 AM, Davide Piffer wrote:> I have a df with a vector v. For each element of the vector, I want to > know whether the i-2nd element is the same as the ith element. For > example: > given > v=c(A,C,D,C) the result should be: > FALSE,FALSE,FALSE,TRUE. > > I attempted something using indexing in a for loop such as (bad, > incorrect example): > for (i in v){ > if [i]==[i-2] print T > else print F > } > > However, this is obviously wrong.Why don't you provide code that is actually valid R code so we can run it. Then we can see if it does the right thing or not.> Can someone provide a nice way to solve this?Does this do what you want? isSameAsPrevious <- function(v, k=1) c(rep(FALSE, k), head(v,n=-k) == tail(v, n=-k)) Then: > isSameAsPrevious(v, 2) [1] FALSE FALSE FALSE TRUE H.> > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Dhelp&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=YfPp2NbGMLV4frEpzG4QQFssqMnld91RlQHDdWcvFtw&s=-KVWCgOZsuCGKiZ7aXq4jhZBw97MrEzg19X8yFD60l8&e> PLEASE do read the posting guide https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=YfPp2NbGMLV4frEpzG4QQFssqMnld91RlQHDdWcvFtw&s=HGLgncA6cBilW_DkIzjBEizqo1AmvlshmOHQr4td1vc&e> and provide commented, minimal, self-contained, reproducible code. >-- Herv? Pag?s Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M1-B514 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: hpages at fredhutch.org Phone: (206) 667-5791 Fax: (206) 667-1319