[R] & statement within an ifelse Loop

Jeff Newmiller
Sat, 21 Sep 2019 21:15:40 -0000

You really need to address the responses to your previous posts on this topic.
[1][2] What happened when you tested those methods? In particular, what about
them was so ineffective that you are still here asking the same question? And
why are you starting new threads of conversation on the same topic?

Failing to respond to help is rude, but ignoring help is really rude. You may
just be unfamiliar with mailing lists, but now is the time to rectify your
behavior. Read the Posting Guide and consider sending reply-all emails at least
to the messages I reference below.

[1] https://stat.ethz.ch/pipermail/r-help/2019-September/464183.html
[2] https://stat.ethz.ch/pipermail/r-help/2019-September/464202.html


On September 21, 2019 12:57:50 PM PDT, Phillip Heinrich <herd_dog at
cox.net> wrote:
>Still putzing around trying to increment a count vector when the date
>changes.
>
>         Date count
>1   2018-03-29     1
>2   2018-03-29     1
>3   2018-03-29     1
>81  2018-03-30     1
>82  2018-03-30     1
>83  2018-03-30     1
>165 2018-03-31     1
>166 2018-03-31     1
>167 2018-03-31     1
>
>I can get count to change when the date changes  - lines 81 and 165 -
>by comparing the date to the date on the previous line (lag(Date,1))
>but then the count returns to 1 on line 82 and line 166.
>
>test2 <- transform(test2,
>+                   count = ifelse(Date == lag(Date,1),count,count+1))
>> test2
>          Date count
>1   2018-03-29    NA
>2   2018-03-29     1
>3   2018-03-29     1
>81  2018-03-30     2
>82  2018-03-30     1
>83  2018-03-30     1
>165 2018-03-31     2
>166 2018-03-31     1
>167 2018-03-31     1
>
>test2 <- transform(test2,
>+           count = ifelse(Date
=>lag(Date,1),(lag(count,1)),(lag(count,1)+1)))
>
>
>
>With the code above I get the same results.  It seems to me that line
>82 should have count = 2 since the dates on line 81 and 82 are the same
>so the count from line 82 should be the same as 81 -  (lag(count,1)).
>Similarly, if line 83 were count = 2 then line 165 should be equal to
>3.
>
>What am I missing here?  Is there a way to add an & clause to either
>the if or the else clause such as:
>
>((-2:2) >= 0) & ((-2:2) <= 0)I?ve tried this several different
ways
>such as:
>
>(lag(count,1)) &(count = count+1).
>
>with no success.
>
>Thanks,
>Philip
>
>	[[alternative HTML version deleted]]
>
>______________________________________________
>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.

--
Sent from my phone. Please excuse my brevity.