我在将数据从字符串转换为整数时遇到问题。
比如原始数据是这样的
orderdt[1:10,2]
[1] 71004 13943 11337 9647 9363 6836 5957 5167 4963 4850
但是当我像这样将它转换为 double 时,它会变成完全不同的数字
as.numeric(orderdt[1:10,2])
[1] 854 164 82 1069 1051 823 724 636 613 600
最初我将柱子(大约 1 行)铸成了双柱,大部分下半部分都被转换了,只有前 300 个左右被这样搞砸了。您知道为什么会发生这种情况或如何解决吗?
请帮忙。
最佳答案
几乎可以肯定你有一个因素。要检查,请使用:
is.factor(orderdt[1:10,2])
如果是一个因素,比
as.numeric(as.character(is.factor(orderdt[1:10,2])))
应该如你所愿。
您现在(可能)的问题是为什么我有一个因子?没有进一步的信息很难知道,但通常的原因是你已经加载了你的数据(比如通过 csv 文件)并且你的“数字”之一不是数字。例如,您有“1,12”而不是“1.12”
关于r - 将数据转换为整数/nu 会更改数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14989242/