Включение различных меток в пользовательскую функцию - PullRequest
0 голосов
/ 29 апреля 2018

Мне нужно написать функцию R, в которой входные данные представляют собой две качественные переменные, которые выводят таблицу частот, критерий хи-квадрат и гистограмму по одной из двух переменных. Я могу получить основную гистограмму, но мне нужно добавить заголовки и легенду, которые будут зависеть от имени используемых переменных. Я пытался использовать функцию cat и deparse для подстановки в именах переменных, но график все еще печатается без заголовка, меток оси или легенды.

fx1=function(y,x){
  yy=as.factor(y)
  xx=as.factor(x)
  v=ftable(yy,xx)
  f=chisq.test(y,x)
  g=barplot(v, main= cat("Barplot of ", deparse(substitute(y)), 
                         " by", deparse(substitute(x))), 
            xlab= deparse(substitute(x)), 
            ylab = 'Frequency', names.arg=c(names(x)))
  r=c(v,g,f)
  return(r)
}

1 Ответ

0 голосов
/ 29 апреля 2018

Попробуйте это (единственное, что я сделал, это исправил скобки в вашей функции и заменил cat() на paste()

fx1=function(y,x){
  yy=as.factor(y)
  xx=as.factor(x)
  v=ftable(yy,xx)
  f=chisq.test(y,x)
  g=barplot(v, main= paste("Barplot of ", 
                            deparse(substitute(y)), 
                            " by", 
                            deparse(substitute(x))), 
            xlab= deparse(substitute(x)), 
            ylab = 'Frequency', names.arg=c(names(x)))
  r=c(v,g,f)
  return(r)
}

myx <- sample(c("M","F"), 10, replace = TRUE)
myy <- sample(c(0,1), 10, replace = TRUE)
fx1(myx,myy)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...