Как найти строки смежных чисел, которые одинаковы - PullRequest
0 голосов
/ 06 октября 2018

У меня есть следующий фрейм данных:

A <- c(0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1)
B <- c(1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0)
C <- c(0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0)
df <- data.frame(A, B, C)
> df
   A B C
1  0 1 0
2  1 1 0
3  1 1 0
4  1 1 0
5  1 0 0
6  0 0 1
7  0 0 1
8  1 0 1
9  1 0 1
10 1 1 1
11 0 1 1
12 0 1 1
13 1 1 0
14 1 1 0
15 1 0 0
16 1 0 0

Я хотел бы написать код, чтобы узнать, сколько строк последовательных 1-х в каждом столбце.Я хотел бы, чтобы выходные данные были в форме кадра данных:

> Number_of_Strings_of_Consecutive_Ones
  A B C
1 3 2 1

Как я могу это сделать?Спасибо!

1 Ответ

0 голосов
/ 06 октября 2018

Вы можете использовать rle

sapply(df, function(x) sum(rle(x)$values == 1))
#A B C
#3 2 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...