【问题标题】:Get column name in apply function在应用函数中获取列名
【发布时间】:2017-04-04 02:04:43
【问题描述】:

我正在尝试创建一个函数,通过使用 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)

【问题讨论】:

    标签: function apply columnname


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-23
      • 2019-01-09
      • 2011-03-11
      • 1970-01-01
      • 2020-04-11
      • 1970-01-01
      • 2021-07-29
      • 1970-01-01
      相关资源
      最近更新 更多