Сообщение об ошибке при подсчете n - PullRequest
0 голосов
/ 19 июня 2019

Я хотел отфильтровать участников по возрасту. Для этого я использовал (например):

patientage <- c(18, 18, 18, 18, 18, 19, 20, 20, 20, 21, 22, 23, 23, 24, 25, 26, 27, 28, 29, 30, 30, 31, 32, 34)

group_by(patientage) %>%  count(patientage) %>% filter(patientage >17 & patientage <31)%>% sum(n)

Теперь я хочу использовать sum(n) для подсчета всех участников между 18-30. Но это приводит к коду ошибки:

> Error in as.vector(x, mode) :    cannot coerce type 'closure' to
> vector of type 'any'

Можете ли вы помочь мне, пожалуйста? Большое спасибо.

1 Ответ

0 голосов
/ 19 июня 2019

Прежде всего, dplyr ожидает кадры данных в качестве входных данных, поэтому вам нужно преобразовать вектор:

patientage <- data.frame(
  patientage = c(
    18, 18, 18, 18, 18, 19, 20, 20, 20, 21, 22, 23, 23, 24, 25, 26, 27, 
    28, 29, 30, 30, 31, 32, 34
  )
)

Теперь вы можете работать со своими данными. В итоге, sum() ожидает снова вектор, поэтому перед суммированием необходимо pull() нужный вектор из кадра данных:

patientage %>% 
  group_by(patientage) %>% 
  count(patientage) %>% 
  filter(patientage > 17 & patientage < 31) %>% 
  pull(n) %>% 
  sum
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...