R版本3.3.1,使用read.csv()防止将小数强制转换为因子

时间:2016-10-27 22:27:19

标签: r read.csv

我正在尝试使用read.csv()读取.csv文件,但我的三列包含浮点值。 R将这些因素强制转换为因子,但我希望它们保留原始值,以便我可以准确地将它们相互比较。我试过阅读文档,但我唯一看到的是设置stringsasfactors = FALSE的选项。然后我在列元素中保留小数位,但它们不是我可以相互比较的数字。

例如,如果我的列包含值3.1,4.2,5.3,则R会将这些值强制转换为因子。如果我对它们调用as.numeric(),它们会被压缩为3,4,5。当我读取它们时,如何将它们保留为浮点值?

1 个答案:

答案 0 :(得分:0)

我的经验是你需要as.numeric(as.character(data))。这是因为一个因子被列为一个字符串,被识别为特定的和重复的。所有字母,数字和符号都被视为因素内的字符。

直接指向某个数字,某个部分(例如句点)在因子字符串中不是小数位的中断可能会中断转换。它在这种情况下四舍五入。尝试将它从因子中删除到字符,然后再数字!