如何修复:“x”在 R 中必须是数字
在本文中,我们将了解如何解决:“x”必须是数字。为此,我们将介绍错误消息“x 必须是数字”的两个示例。
示例 1:向量“x”中的错误必须是数字
在此示例中,我们将创建一个向量并尝试使用特定数据绘制 hist() 图,然后出现“x”必须是数字,因为我们将字符串数据传递到直方图中。
如何产生错误:
R
# vector creation
x <- c("61", "4", "21", "67", "89", "2")
# display vector
print(x)
# plotting hist
hist(x)
R
x <- c("61", "4", "21", "67", "89", "2")
print(x)
res <- as.numeric(x)
hist(res)
R
# Create data for chart
val <-data.frame("num"=c("77","55","80","60"),
"course"=c('DSA','C++','R','Python'))
print(val)
hist(val[,1])
R
# Create data for chart
val <-data.frame("num"=c(77,55,80,60),
"course"=c('DSA','C++','R','Python'))
print(val)
hist(val[,1])
输出:
[1] "61" "4" "21" "67" "89" "2"
Error in hist.default(x): 'x' must be numeric
Traceback:
1. hist(x)
2. hist.default(x)
3. stop("'x' must be numeric")
在上面的示例中,我们已经看到,当我们尝试绘制 hist 时,由于字符串数据会产生错误,这意味着直方图必须是数字数据。
如何解决此错误:
为了解决这个错误,我们将使用 as.numeric() 方法将向量元素转换为数值数据。
R
x <- c("61", "4", "21", "67", "89", "2")
print(x)
res <- as.numeric(x)
hist(res)
输出:
示例 2:数据框“x”中的错误必须是数字
同样,在这里我们将使用字符串数据元素创建数据框并尝试绘制 hist()。
如何产生错误:
R
# Create data for chart
val <-data.frame("num"=c("77","55","80","60"),
"course"=c('DSA','C++','R','Python'))
print(val)
hist(val[,1])
输出:
num course
1 77 DSA
2 55 C++
3 80 R
4 60 Python
Error in hist.default(val[, 1]): 'x' must be numeric
Traceback:
在上面的示例中,我们已经看到,当我们尝试绘制 hist 时,由于字符串数据会产生错误,这意味着直方图必须是数字数据。
如何解决此错误:
为了解决这个错误,我们将使用 as.numeric() 方法将数据框元素转换为数字数据。
R
# Create data for chart
val <-data.frame("num"=c(77,55,80,60),
"course"=c('DSA','C++','R','Python'))
print(val)
hist(val[,1])
输出: