获取数据框列名并申请 R 中的图形标题
Getting dataframe colum names with apply for graph title in R
我 运行 在数据框的列上应用函数并执行多项操作,包括绘制一些图表。我想获取列名以将它们用作每个图表的标题。我找到了 post that uses lapply,但我认为我不能使用它,因为我需要申请。
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)
我会使用 lappy
例如:
myFUN<-function(x){
themean<-mean(df[[x]])
thevar<-var(df[[x]])
Name<-x
thetitle <- paste('Variable: ', Name, '')
hist(df[[x]],main=thetitle, xlab = Name)
return(list(themean, thevar))
}
lapply(names(df), myFUN)
您可以使用 mapply
,sapply
的多元版本。但是您需要重写该函数以接受两个参数。
myFUN2 <- function(x, Name){
themean <- mean(x)
thevar <- var(x)
thetitle <- paste('Variable: ', Name, '')
hist(x, main = thetitle)
return(list(themean, thevar))
}
mapply(myFUN2, df, names(df))
mapply(myFUN2, df, names(df), SIMPLIFY = FALSE)
第一次调用将输出简化为矩阵。第二个没有,它returns一个列表。
我 运行 在数据框的列上应用函数并执行多项操作,包括绘制一些图表。我想获取列名以将它们用作每个图表的标题。我找到了 post that uses lapply,但我认为我不能使用它,因为我需要申请。
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)
我会使用 lappy
例如:
myFUN<-function(x){
themean<-mean(df[[x]])
thevar<-var(df[[x]])
Name<-x
thetitle <- paste('Variable: ', Name, '')
hist(df[[x]],main=thetitle, xlab = Name)
return(list(themean, thevar))
}
lapply(names(df), myFUN)
您可以使用 mapply
,sapply
的多元版本。但是您需要重写该函数以接受两个参数。
myFUN2 <- function(x, Name){
themean <- mean(x)
thevar <- var(x)
thetitle <- paste('Variable: ', Name, '')
hist(x, main = thetitle)
return(list(themean, thevar))
}
mapply(myFUN2, df, names(df))
mapply(myFUN2, df, names(df), SIMPLIFY = FALSE)
第一次调用将输出简化为矩阵。第二个没有,它returns一个列表。