在应用函数中获取列名
Get column name in apply function
我正在尝试创建一个函数,通过应用为数据框中的每一列生成一个小报告。在报告中,我想使用列的名称,所以我必须以某种方式 'extract' 它,这就是我的问题所在。如何在我的应用函数中获取列的名称?
这是一个简单的例子,我想在图表标题中使用列的名称:(现在我只是将名称硬编码为 '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)
好吧,如果没有人回答,您必须自己找出答案...我发现您可以使用索引列表调用 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)
我正在尝试创建一个函数,通过应用为数据框中的每一列生成一个小报告。在报告中,我想使用列的名称,所以我必须以某种方式 'extract' 它,这就是我的问题所在。如何在我的应用函数中获取列的名称?
这是一个简单的例子,我想在图表标题中使用列的名称:(现在我只是将名称硬编码为 '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)
好吧,如果没有人回答,您必须自己找出答案...我发现您可以使用索引列表调用 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)