📌  相关文章
📜  如何修复:“x”在 R 中必须是数字

📅  最后修改于: 2022-05-13 01:54:58.581000             🧑  作者: Mango

如何修复:“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])

输出: