хотел бы определить количество фирм, которые начинаются и заканчиваются каждый месяц. Цель состоит в том, чтобы по столбцу сказать, сколько фирм начинаются и заканчиваются.
Мои данные выглядят так, с большим количеством строк и столбцов.
Firm Return_1990_01 Return_1990_02 Return_1990_03 Return_1990_04 Return_1990_05
#1 fg23 NaN NaN 1.54 2.34 .641
#2 sdf1 1.35 NaN 3.53 NaN .231
#3 sdf1 1.12 2.44 1.51 1.64 NaN
Одна проблема состоит в том, что фирма может иметь NaN между ними. Например, во 2-й строке фирма начинает 1990_01 и заканчивается 1990_05, несмотря на то, что NaN между ними.
Я попробовал следующий код
library(dplyr)
library(tidyr)
df %>%
gather(month, value, -Firm) %>%
filter(!is.nan(value)) %>%
arrange(Firm, month) %>%
group_by(Firm) %>%
summarise(start = first(month), end = last(month))
Но получите следующее сообщение об ошибке
Error in arrange_impl(.data, dots) :
data frame column with incompatible number of rows (465), expecting : 59378
Любая помощь приветствуется.