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