我正在尝试使用read.csv()
读取.csv
文件,但我的三列包含浮点值。 R将这些因素强制转换为因子,但我希望它们保留原始值,以便我可以准确地将它们相互比较。我试过阅读文档,但我唯一看到的是设置stringsasfactors = FALSE
的选项。然后我在列元素中保留小数位,但它们不是我可以相互比较的数字。
例如,如果我的列包含值3.1,4.2,5.3,则R会将这些值强制转换为因子。如果我对它们调用as.numeric()
,它们会被压缩为3,4,5。当我读取它们时,如何将它们保留为浮点值?
答案 0 :(得分:0)
我的经验是你需要as.numeric(as.character(data))
。这是因为一个因子被列为一个字符串,被识别为特定的和重复的。所有字母,数字和符号都被视为因素内的字符。
直接指向某个数字,某个部分(例如句点)在因子字符串中不是小数位的中断可能会中断转换。它在这种情况下四舍五入。尝试将它从因子中删除到字符,然后再数字!