Я пытаюсь создать настраиваемую функцию для генерации 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..
также работает вне настраиваемой функции.