Получить имя столбца в функции применения

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

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

x <- c(1,1,2,2,2,3)
y <- c(2,3,4,5,4,4)
Tb <- data.frame(x,y)
Dq_Hist <- function(Tab){
  Name <- 'x'
  Ttl <- paste('Variable: ',Name,'')
  hist(Tab,main=Ttl,col=c('grey'),xlab=Name)
}
D <- apply(Tb,MARGIN=2,FUN=Dq_Hist)

person Peter S    schedule 04.04.2017    source источник


Ответы (1)


Что ж, если никто не ответит, вы должны выяснить это сами... И я обнаружил, что вы можете вызывать sapply со списком индексов и использовать этот индекс в функции. Итак, решение:

   x <- c(1,1,2,2,2,3)
   y <- c(2,3,4,5,4,4)
   Tb <- data.frame(x,y)
   Dq_Hist <- function(i){
     Name <- colnames(Tb)[i]
     Ttl <- paste('Variable: ',Name,'')
     hist(Tb[,i],main=Ttl,col=c('grey'),xlab=Name)
   }
   D <- sapply(1:ncol(Tb),Dq_Hist)
person Peter S    schedule 05.04.2017