【问题标题】:trouble drawing a histogram in R - x must be numeric在 R 中绘制直方图时遇到问题 - x 必须是数字
【发布时间】:2020-08-13 05:36:50
【问题描述】:

我正在尝试在 R 中绘制直方图,但它告诉我错误:

hist.default(group, las = 1, main = "Frequency", xlab = "group (quantity)") 中的错误: “x”必须是数字

下面是我的代码:

CD = read.csv("Bees.csv")
View(CD)
Survey = read.csv("Bees.csv", na.strings = c(""," ","NA"))
attach(Survey)
View(Survey)

hist(group, las=1, main="Frequency", xlab="group (quantity)")

library(FSA)
op = group(oma=c(0,0,1.5,0), mar=c(3,3,2,1))
hist(group ~ mass,
     las=1,
     nrow=2, ncol=1,
     cex.main=0.9, cex.lab=0.8, cex.axis=0.8,
     mgp=c(1.8,0.6,0),
     xlab="group (quantity)" # x-axis title
)
mtext("Frequency", side=3, outer=TRUE, font=2)
par(op)

我都写了,但错误实际上发生在早期:

hist(group, las=1, main="Frequency", xlab="group (quantity)")

有人可以帮我看看我做错了什么吗?

【问题讨论】:

  • 看起来您的变量之一,它是一个数字,已被读入为数字。如果您这样做 str(CD) 是频率和组(数量)都是数字?如果您没有另外指定,有时这些会作为字符或因子读入。

标签: r


【解决方案1】:

变量group 似乎不是数值变量。它可能是一个字符向量,可能不会绘制为直方图。使用summary(group)检查是否真的有数值(如果是数值,摘要应该显示最小值、最大值、中值和平均值)。

如果它不包含数值而是字符,则直方图是错误的图表类型。你可能想要一个条形图。使用语法绘制它:barplot(table(group))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2015-12-13
    相关资源
    最近更新 更多