У меня есть кадр данных в R, который выглядит следующим образом:
|---------------------------------------------------------|
| col1 | col2 | col3 | col4 | col5 | col6 | col7 |
|______|________|_______|_______|_______|________|________|
| x | 2003 | 2004 | 2009 | 2002 | 2011 | NA |
|------|--------|-------|-------|-------|--------|--------|
| y | 2004 | NA | NA | 2002 | 2004 | NA |
|------|--------|-------|-------|-------|--------|--------|
| x | 2007 | 2009 | NA | 2010 | 2012 | 2013 |
|---------------------------------------------------------|
Я хочу проверить, сколько раз для каждой категории в col1 значения в col5: col7 встречаются в течение 2 или менее лет после (0-2) любое из значений в col2: col4.
поэтому желаемый результат будет выглядеть примерно так:
[[x]]
2
[[y]]
1
или в виде такого кадра данных:
col1 | count |
______________
x | 2
--------------
y | 1
Я думаю, что должен быть способ dplyrсделай это?как что-то с gather()
и filter()
?или какой-то подход, использующий sapply
, чтобы получить разницу между значениями, а затем просто посчитать число> 2?
Основная проблема, с которой я сталкиваюсь, заключается в том, как синтаксис, когда не все столбцы имеют значения для каждогои я хочу сравнить значения в col2: col4 со всеми значениями в col5: col7, а не только с конкретным столбцом.