ggplot в пределах настроенной функции - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь создать настраиваемую функцию для генерации ggplots. Кажется, что y= ..prop.. не может быть распознан с помощью пользовательской функции. Интересно, есть ли способ обойти это?

    line_by_seg <- function(inputdata,input_x, colorgrp) {
       inputdata$input_x <-  inputdata[,input_x]
       inputdata$colorgrp  <-  inputdata[,colorgrp]
       g <- ggplot(inputdata, aes_string(x = input_x, y = ..prop..,
                                    color = colorgrp,group =  colorgrp ),environment = environment()) +
             geom_freqpoly(stat = "count") 
    }

    data <-  data.frame(LOB = c("mono","mult","mult","mono", "mono"), segments = c("A","A","B","B","B") 
    )
    line_by_seg(data,"LOB","segments")

Этот код выдает ошибку ниже:

      Error in aes_string(x = input_x, y = ..prop.., color = colorgrp, group = colorgrp) : 
      object '..prop..' not found 

Если я заменю y=..prop.., функция заработает.

    line_by_seg <- function(inputdata,input_x, colorgrp,test) {
  inputdata$input_x <-  inputdata[,input_x]
  inputdata$colorgrp  <-  inputdata[,colorgrp]
  inputdata$test  <-  inputdata[,test]
  g <- ggplot(inputdata, aes_string(x = input_x, 
                                    color = colorgrp,group =  colorgrp ),environment = environment()) +
    geom_freqpoly(stat = "count") 
  }

    data$test <-  c(1:5)
    (line_by_seg(data,"LOB","segments","test"))

И ..prop..также работает вне настраиваемой функции.

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