[R] & statement within an ifelse Loop

Phillip Heinrich herd_dog @end|ng |rom cox@net
Sat Sep 21 21:57:50 CEST 2019


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]]



More information about the R-help mailing list