我的原始数据集有 62 个变量。对于c(3:56)
我想循环函数的变量boxplot.with.outlier.label
,请参阅
来源(“http://www.r-statistics.com/wp-content/uploads/2011/01/boxplot-with-outlier-label-r.txt”)
但我已经坚持构建一个允许我构建循环的函数。这是一些模拟数据(当然不会显示异常值,但据我所知,这不是问题的一部分 - 证明我错了!)
x <- rnorm(1000)
y <- rnorm(1000)
z <- sample(letters, 1000)
df <- as.data.frame(cbind(x,y,z))
df$x<- as.numeric(df$x)
df$y<- as.numeric(df$y)
df$z<- as.character(df$z)
这工作正常:
boxplot.with.outlier.label(df$x, df$z)
这不会:
boxplotlabel <- function (data, var, name) {
datvar <- data[["var"]]
namevar <- data[["name"]]
boxplot.with.outlier.label(datvar, namevar)
}
boxplotlabel(df, x, z)
Error in plot.window(xlim = xlim, ylim = ylim, log = log, yaxs = pars$yaxs) :need finite 'ylim' values
In addition: Warning messages:
1: In is.na(x) : is.na() applied to non-(list or vector) of type 'NULL'
2: In is.na(x) : is.na() applied to non-(list or vector) of type 'NULL'
3: In is.na(x) : is.na() applied to non-(list or vector) of type 'NULL'
4: In min(x) : no non-missing arguments to min; returning Inf
5: In max(x) : no non-missing arguments to max; returning -Inf
我哪里错了?或者有没有不同的方法来实现我想要的函数循环boxplot.with.outlier.label
?
我很感激任何帮助!格瑞特