Проблема исходит не из summarise
, а из n
.
Если вы посмотрите справку ?n
, вы увидите, что n
используется без аргументов, например:
new_data_count <- remove_na %>% group_by(ID) %>% summarise(complete_cases = n())
Это будет подсчитывать количество строк для каждой группы ID
и не зависит от столбца Date
. Вы также можете использовать функцию быстрого доступа count
:
new_data_count <- remove_na %>% count(ID)
Если вы хотите подсчитать разные значения Date
, вы можете использовать n_distinct
:
new_data_count_dates <- remove_na %>% group_by(ID) %>% summarise(complete_cases = n_distinct(Date))
Следует отметить, что вы могли бы написать свой код с помощью purrr::map
, который имеет лучшие функции, чем _apply
, поскольку вы можете указать тип возвращаемого значения с суффиксом. Это может выглядеть так:
library(purrr)
remove_na = map_dfr(list.files(), read.csv) %>% na.omit()
Здесь map_dfr
возвращает data.frame со строками привязки, но вы могли бы использовать map_dfc
, который возвращает data.frame с привязанными столбцами.