«Ошибка: попытка применить не-функцию» отображается при попытке описания данных - PullRequest
0 голосов
/ 14 марта 2020

Для одного из моих унифицированных отчетов я должен проанализировать некоторые данные в , и я попал в описательную часть, но когда я ввожу следующий код, я получаю уведомление, говорящее:

Ошибка: попытка применить не-функцию

Я понятия не имею, как это исправить. Любая помощь будет принята с благодарностью:)

age_desc <- data %>%
  mutate(AGE_YEARS = all(duplicated(AGE_YEARS)[-1L])(AGE_YEARS)) %>%
  summarise(mean = mean(AGE_YEARS, na.rm = T),
            sd = sd(AGE_YEARS),
            min = min(AGE_YEARS),
            max = max(AGE_YEARS)) %>%
  modify(round, 2) 

1 Ответ

0 голосов
/ 14 марта 2020

Можете ли вы описать словами, что вы пытаетесь выполнить sh с частью all(duplicated(AGE_YEARS)[-1L])(AGE_YEARS) вашего кода?

Ваша ошибка исходит из той части вашего кода, где, по-видимому, вы пытаетесь умножить объект логического класса (результат all(duplicated(AGE_YEARS)[-1L])) на (предположительно) числовой c вектор AGE_YEARS.

Я не уверен, что вы пытаетесь это сделать sh, но если вам по какой-то причине нужно умножить одно логическое значение на вектор чисел c, вы потребуется включить знак умножения (*) между элементами.

например

all(duplicated(iris$Sepal.Length)[-1L])
# [1] FALSE
all(duplicated(iris$Sepal.Length)[-1L])(iris$Sepal.Length)
# Error: attempt to apply non-function
all(duplicated(iris$Sepal.Length)[-1L])*(iris$Sepal.Length)
#  [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
# [40] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
# [79] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
# [118] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Удачи!

PS В будущем полезно включить в ваши вопросы воспроизводимый пример ( Как создать отличный воспроизводимый пример R ) кода!

...