R 韩元';不能将数据识别为数字
自从Excel上次更新以来,R不会将我的文件识别为数字文件;甚至是我过去用过的那些。 我相信我的问题的根源在于我的Excel是法语的,并且已经将默认小数点从“.”改为“,”(但这在过去5年中从未造成任何问题)R 韩元';不能将数据识别为数字,r,excel,decimal,compatibility,R,Excel,Decimal,Compatibility,自从Excel上次更新以来,R不会将我的文件识别为数字文件;甚至是我过去用过的那些。 我相信我的问题的根源在于我的Excel是法语的,并且已经将默认小数点从“.”改为“,”(但这在过去5年中从未造成任何问题) 为了找出问题的根源,我尝试只使用一列数据(都带有.and,),但R总是给我这个错误: “错误:(列表)对象不能强制为'double'类型” 以下是数据示例(另存为data.csv文件) 我使用了两种方法: read.csv AND read.csv2 (read.csv2 is the
为了找出问题的根源,我尝试只使用一列数据(都带有.and,),但R总是给我这个错误: “错误:(列表)对象不能强制为'double'类型” 以下是数据示例(另存为data.csv文件) 我使用了两种方法:
read.csv AND read.csv2 (read.csv2 is the way to go)
在R中导入后,它看起来是这样的:
但是当我问
is.numeric(data)
我明白了
> [1] FALSE
> Error: (list) object cannot be coerced to type 'double'
如果我试图强迫:
as.numeric
我明白了
> [1] FALSE
> Error: (list) object cannot be coerced to type 'double'
我在这里真是不知所措;这似乎是一个很糟糕但很简单的兼容性问题。谢谢你的帮助
仅供参考,我已经完成了以下故障排除:
- 将所有旧的“.”转换为“,”(否则Excel不会将它们视为数字,R也不会
- 将Excel的默认语言从法语更改为英语。由于我有mac电脑,我只能更改“编辑”而不能更改默认显示语言
- 我的笔记本电脑的默认语言为英语
summary()
函数(使用dplyr和tidyr包)中,我错误地将“”放在了我想从.Ex.summary(mean=mean(“temp”))中获得平均值的列名周围。
(正确的方式=>summary(mean=mean(temp))
as.numeric(data[4])
function。正如@MrFlick指出的,数据框不是数字的,而是询问:as.numeric(data[[4]])
挑出列的数据。as.numeric(data[,4])
也可以干杯!什么是
class(data)
?R将以data.frame而不是数字向量的形式读取数据。如果您只需要一个向量,请使用scan()
。否则class(data[[1]])
可能已经是数字了(您只需要从data.frame中提取列)。这似乎与Excel没有任何关系。类(数据)生成:[1]“data.frame”。扫描(数据)生成错误:“扫描(数据)中的错误:'文件'必须是字符串或连接”。我如何从数据框中提取列?谢谢!注意。是的,您是对的,类(类[[1]])-->[1]“数值的“。但我似乎还是看不懂。您可以使用scan()
而不是read.csv
。但是您的数据位于data.frame文件中。这是目前大多数导入工作的方式。data.frame本身不是数字的,但它的列可以是数字的。您应该指定如何读取它以及此问题在代码中的表现形式。您可以使用read.table
并指定所有参数冷冰冰的。