R 无法使用 hist() 因为 "content not numeric"由于负十进制数?

标签 r decimal histogram numeric

我是 R 新手,我正在尝试使用 hist() 绘制 100,000 个数字列表的直方图,如下所示

-0.764
-0.662
-0.764
-0.019
0.464
0.668
0.464

但我不能这样做,因为 R 提示内容不是数字。这是我尝试过的:

  • 我使用 t <- read.table(file= "file.txt", sep = "\n", dec = ".", header = TRUE) 读取文件,数据加载并且看起来很好(我得到相同的值)

  • 我尝试使用 as.numeric(c(t[,1])), sapply(t, as.numeric) 将其设为数字​​,但得到完全不同的数字,例如

    53 428 791 428 582 428 979 428 456 533 550

我认为他们可能是小数点“。”的问题。或负号“-”或两者兼而有之。 有什么想法吗?

非常感谢!

最佳答案

R 似乎已经将数据的第一列转换为一个因素。如果此列中的所有数据在文件中都是数字,则不会发生这种情况。所以一定有一个元素不被识别为数字。

您可以在 R 中尝试以下(有点脏)来尝试找出问题所在。从以下因素开始:

R> v <- factor(c("0.51", "-0.12", "0.345", "0.45b", "-0.8"))

您可以通过以下方式确定哪个值导致问题:

R> v[is.na(as.numeric(as.character(v)))]
[1] 0.45b

您可以使用以下命令找到该值在向量中的位置:

R> which(is.na(as.numeric(as.character(v))))
[1] 4

关于R 无法使用 hist() 因为 "content not numeric"由于负十进制数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15421172/

相关文章:

r - 使用 Homebrew 安装 R

具有随机效应的 R 加权面板回归

objective-c - 如何将十六进制字符串转换为十进制?

C# 使用压缩小数编码 EBCDIC 中的文件

python - 使用 Decimal 类型会增加功率计算的时间成本

r - 了解 'gslider' 函数制作交互式绘图

Matlab图形用户界面: How to return the rows of a table from a histogram bin

r - 分层/嵌套引导方法

elasticsearch - 基于构面计数的直方图

r - 使用 terra SpatRaster 作为 ggmap basemap