我在一个dataframe的列上运行apply函数,并执行几个操作,包括绘制一些图。我想获取列名,以将其用作每个图的标题。我发现了一个post that uses lapply,但我不认为我可以使用它,因为我需要apply。
var1<-rnorm(100)
var2<-rnorm(100)
var3<-rnorm(100)
df<-data.frame(var1,var2, var3)
colnames(df)<-c("var1", "var2", "var3")
myFUN<-function(x){
themean<-mean(x)
thevar<-var(x)
Name<-colnames(x)
thetitle <- paste('Variable: ', Name, '')
hist(x,main=thetitle)
return(list(themean, thevar))
}
apply(df,2,myFUN)
2条答案
按热度按时间rggaifut1#
你可以使用
mapply
,sapply
的多变量版本。但是你需要重写函数来接受两个参数。第一个调用将输出简化为一个矩阵,第二个调用则不是,它返回一个列表。
wz8daaqr2#
我会使用
lappy
,例如: