我打算编写一个函数,使用R绘制数据框中数字列的直方图。但是,问题是我不知道如何选择该列的名称作为直方图的标题。例如,"年龄"的标题列应为"年龄直方图"。你们能给我一些建议吗?非常感谢。
# Plot histograms for x
hist_numeric <- function(x){
if (is.numeric(x) | is.integer(x)){
hist(x, main = "???")
} else {
message("Not integer or numeric varible")
}
}
# plot histograms for every column in the dataframe
map(df, hist_numeric)
答案 0 :(得分:0)
您可以使用colnames
在函数调用之前将列名放入列表中,然后使用map2
为函数调用多个参数:
hist_numeric <- function(x, name){
if (is.numeric(x) | is.integer(x)){
hist(x, main = name)
} else {
message("Not integer or numeric varible")
}
}
df <- data.frame(x = rnorm(50),
y = letters[1:10],
z = runif(50))
names_col <- colnames(df)
map2(.x = df, .y = names_col, .f = hist_numeric)