【发布时间】:2017-09-26 15:59:24
【问题描述】:
我正在尝试使用循环来根据条件 (class(variable)='numeric') 绘制直方图,但我没有得到任何输出,我不知道为什么。
代码:
for (i in length(df)){
if (class(df[,i])=="numeric"){
hist(df[,i])
}
}
hist(df[,15]) 返回一个直方图,并且 class(df[,15]) = 'numeric',所以我不确定错误来自哪里。
【问题讨论】:
-
您遇到错误了吗?如果有,请分享。我无法重现。如果我将代码中的
df替换为mtcars,我会得到11 个直方图。你能举一个可重现的例子吗? -
也就是说,我建议使用
is.numeric(df[, i])而不是class(df[,i])=="numeric"。它会更加健壮。 -
在您的第一行代码中,您可能是指 for (i in 1:length(df)){。就这段代码而言,它只会做最后一张图。
-
Gregor,我没有收到错误,只是没有输出。露西发现这是一个错字——长度(df)中的 i 应该是 1 中的 i:长度(df)
标签: r loops histogram graphing