将数据框中的因子列转换为数字类型列[重复]

Posted

技术标签:

【中文标题】将数据框中的因子列转换为数字类型列[重复]【英文标题】:Convert Factor columns in data frame to numeric type columns [duplicate] 【发布时间】:2011-09-29 00:53:43 【问题描述】:

可能的重复:Convert factor to integerR - How to convert a factor to an integer\numeric in R without a loss of information

我已经阅读了一个文本文件,其中一些实数列作为因子被读取到数据框中。如何将事实列转换为数字列

【问题讨论】:

***.com/questions/4798343/convert-factor-to-integer -1 表示复制。建议关闭。这也是一个常见问题解答并且在帮助页面上明确回答。 这不是重复的。本题针对自动转换数据框中的all 因子列的问题。 “重复”中的解决方案不适用:as.numeric 不适用于数据帧。 【参考方案1】:

你可以使用

as.numeric(as.character(x))

【讨论】:

【参考方案2】:

您的带有数字的列被读取为一个因素的原因是某些地方使该列不是仅数字的,或者您弄乱了小数字符(这是第一个问题的特殊情况) .如果您的小数不是.,您可以通过参数dec 指定一个新的,例如dec = ",".

【讨论】:

【参考方案3】:

这是FAQ 7.10。

但是,与其在事后进行转换,为什么不通过指定 colClasses 参数来正确读取它们,如果使用 read.table 或其变体之一,或者更好的是,找出文件中的哪些字符是(正在)说服 R 你的数字不是所有的数字并修复源文件(或者最好,两者都做)。

【讨论】:

以上是关于将数据框中的因子列转换为数字类型列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

PySpark 将“map”类型的列转换为数据框中的多列

将R中的所有列从因子更改为数字

如何将镶木地板文件的 int64 数据类型列转换为 SparkSQL 数据框中的时间戳?

如何判断 pandas 数据框中的列是不是为 datetime 类型?如何判断一列是不是为数字?

将字符串的所有字母字符转换为熊猫数据框中单独列中的整数

如何转换数据框中的所有浮点列,但第一列除外?