R语言 如何在apply函数中获取列的名称?

w41d8nur  于 2023-03-27  发布在  其他
关注(0)|答案(1)|浏览(151)

我正在尝试使用apply为数据框中的每一列创建一个小报告。在报告中,我想使用列的名称,所以我必须以某种方式 '提取' 它,这就是我的问题所在。我如何在apply函数中获得列的名称?
下面是一个简单的示例,我希望在图表标题中使用列的名称:(现在我只是将名称硬编码为“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)
c7rzv4ha

c7rzv4ha1#

我发现你可以用一个索引列表调用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)

相关问题