Создание функции имеет строковую переменную в R - PullRequest
0 голосов
/ 28 апреля 2020

Мой фрейм данных с именем Vietnamese_age выглядит следующим образом:

  • Vietnamese_city: Hanoi Danang HCMcity ...
  • Age_population_from 10_to_20: 10000 20000 15000 ...
  • Age_population_from 20_to_30: 15000 25000 15000 ...
  • Age_population_from 30_to_40: 14000 28000 14000 ...
  • Age_population_from 40_to_50: 21000 26000 12000 ... и т. Д.

Слишком много возрастных периодов, поэтому я собираюсь создать функцию, которая имеет строковую переменную, поэтому, когда я вставлю определенную строку («Возраст населения от 10 до 20»), она покажет коробочную диаграмму этой возрастной группы. в определенном городе и в среднем по всей стране.

Я построил самую первую функцию:

Age_function <- function(x) { mean(Vietnamese_age$x) }

и попробовал:

x = "Age_population_from 10_to_20"

, что привело к следующей ошибке :

Ошибка в Age_function (Age_population_from 10_to_20): объект 'Age_population_from 10_to_20' не найден

Что я должен сделать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 28 апреля 2020

Вместо использования $ мы можем использовать [[

Age_function <- function(x) mean(Vietnamese_age[[x]], na.rm = TRUE)

Также лучше предоставить данные в качестве аргумента

Age_function <- function(dat, x) mean(dat[[x]], na.rm = TRUE)

и затем вызвать

Age_function(Vienamese_age,  "Age_population_from 10_to_20")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...