如何在R中处理hist.default,'x'必须为数值型的问题?


当我们将非数值列或向量传递给hist函数时,就会出现错误hist.default,'x'必须为数值型。如果数据框中有一列是非数值型,或者向量是非数值型,并且想要创建该数据的直方图,可以使用barplot和table函数来创建。

查看以下示例

了解如何做到这一点。

示例

以下代码片段创建一个示例数据框:

x<-sample(LETTERS[1:5],20,replace=TRUE)
df<-data.frame(x)
df

创建了以下数据框

   x
 1 C
 2 B
 3 B
 4 B
 5 E
 6 E
 7 C
 8 A
 9 C
10 B
11 D
12 E
13 A
14 C
15 B
16 A
17 C
18 E
19 B
20 B

要在上面创建的数据框上使用hist函数创建x的直方图,请将以下代码添加到上面的代码片段中:

x<-sample(LETTERS[1:5],20,replace=TRUE)
df<-data.frame(x)
hist(df$x)

要在上面创建的数据框上使用barplot函数创建x的直方图,请将以下代码添加到上面的代码片段中:

x<-sample(LETTERS[1:5],20,replace=TRUE)
df<-data.frame(x)
barplot(table(df$x))

输出

如果将以上所有代码片段作为一个程序执行,则会生成以下输出:

更新于:2021年11月9日

8K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告