Функция R: «Объект не найден» в функции, созданной из рабочего кода - PullRequest
0 голосов
/ 22 апреля 2019

edit: На этот вопрос ответили, я смог заставить его работать с решением, предоставленным Jilber Urbina. get (X) изменяет метку оси, которую можно изменить с помощью ggplot( ... + labs (x= X, y = Y). Я ценю помощь.

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

library(tidyverse)

data %>% 
 ggplot(aes(type, weight)) +
 geom_boxplot()

Это создает ящики, которые я хочу. Теперь, если я создаю функцию и использую ее, я получаю сообщение об ошибке:

data_box <- function(X,Y) {
 data %>%
 ggplot(aes(X, Y)) + 
 geom_boxplot()
 }

data_box(type, weight)

Ошибка в check_factor (.f): объект 'тип' не найден

Буду очень признателен за помощь в создании функции, которая выполняет код.

1 Ответ

0 голосов
/ 22 апреля 2019

На основе комментария @ r2evans вы можете добавить третий аргумент data и использовать get() для поиска по имени, чтобы вы могли давать имена переменных внутри кавычек:

data_box <- function(X,Y, data) {
  data %>%
    ggplot(aes(get(X), get(Y))) + 
    geom_boxplot()
}

data_box("Subject", "time", Indometh)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...