R “不需要的字符”−&引用;导入文本文件时显示

R “不需要的字符”−&引用;导入文本文件时显示,r,text-files,R,Text Files,我有一个记事本txt文件,名为inflation.txt 该文件有两列(用“空格”分隔),如下所示: 1950-1 0.0084490544865279 1950-2 −0.0050487986543660 1950-3 0.0038461526886055 1950-4 0.0214293914558992 1951-1 0.0232839389540449 1951-2 0.0299121323429455 1951-3 0.0379293285389640 1951-4 0.0212773

我有一个记事本txt文件,名为
inflation.txt

该文件有两列(用“空格”分隔),如下所示:

1950-1 0.0084490544865279
1950-2 −0.0050487986543660
1950-3 0.0038461526886055
1950-4 0.0214293914558992
1951-1 0.0232839389540449
1951-2 0.0299121323429455
1951-3 0.0379293285389640
1951-4 0.0212773984472849
我正在尝试将此文件导入R

在阅读前面的stackoverflow文章时,我针对我的问题修改了代码

data <- read.table("inflation.txt", sep = "" , header = F ,
                   na.strings ="", stringsAsFactors= F)

有人能告诉我我做错了什么吗?数据是否已损坏?有办法解决这个问题吗?

如果你尝试这个,你会得到什么

data <- read.table("inflation.txt", sep = "" , header = F ,
                   na.strings ="", stringsAsFactors= F, encoding = "UTF-8")

data如果你尝试这个,你会得到什么

data <- read.table("inflation.txt", sep = "" , header = F ,
                   na.strings ="", stringsAsFactors= F, encoding = "UTF-8")

数据文件中的减号不是
-
,而是

您可以使用此选项比较字符代码。
-
的情况下,您会得到与
unicode 002D
对应的
ASCII 45
,并且通过上面的字符,您会得到与
unicode 2212
对应的
8722

两者都是
减号,但
已读。表
需要第一个版本

您可能会按以下顺序替换错误的字符:

file <- readLines('inflation.txt')
file <- gsub( "−", "-", file )

data <- read.table(textConnection(file), sep = "" , header = F ,
           na.strings ="", stringsAsFactors= F)

head(data) 
      V1           V2
1 1950-1  0.008449054
2 1950-2 -0.005048799
3 1950-3  0.003846153
4 1950-4  0.021429391
5 1951-1  0.023283939
6 1951-2  0.029912132 

文件文件中的减号不是
-
,而是

您可以使用此选项比较字符代码。
-
的情况下,您会得到与
unicode 002D
对应的
ASCII 45
,并且通过上面的字符,您会得到与
unicode 2212
对应的
8722

两者都是
减号,但
已读。表
需要第一个版本

您可能会按以下顺序替换错误的字符:

file <- readLines('inflation.txt')
file <- gsub( "−", "-", file )

data <- read.table(textConnection(file), sep = "" , header = F ,
           na.strings ="", stringsAsFactors= F)

head(data) 
      V1           V2
1 1950-1  0.008449054
2 1950-2 -0.005048799
3 1950-3  0.003846153
4 1950-4  0.021429391
5 1951-1  0.023283939
6 1951-2  0.029912132 

这个文件有效!你能解释一下你的逻辑吗?为什么这个角色会出现?Waldi给出了一个很好的答案,并说明了原因。我正在查看由您的答案创建的R文件。。。所有负值均替换为NA。你知道怎么解决这个问题吗?谢谢这里是我的意思:数据>头(b)0.008449054 NA 0.003846153 0.021429391 0.023283939 0.029912132这很有效!你能解释一下你的逻辑吗?为什么这个角色会出现?Waldi给出了一个很好的答案,并说明了原因。我正在查看由您的答案创建的R文件。。。所有负值均替换为NA。你知道怎么解决这个问题吗?谢谢这里是我的意思:数据>标题(b)0.008449054 NA 0.003846153 0.021429391 0.023283939 0.029912132谢谢你的回答!我尝试了上面的答案,所有的负值都替换为NA。你知道怎么解决吗?@Noob,看看我的编辑谢谢你的回复。我试图将“V2”列转换为“numeric”,但它似乎不起作用。我在这里发布了一个相关问题:。如果你有时间,可以看一下吗?谢谢你的帮助-我真的很感激,@Noob,在我的电脑上,
class(data$V2)
is
numeric
。您可以尝试使用
dec='.
read.table中的参数。
谢谢您的回答!我尝试了上面的答案,所有的负值都替换为NA。你知道怎么解决吗?@Noob,看看我的编辑谢谢你的回复。我试图将“V2”列转换为“numeric”,但它似乎不起作用。我在这里发布了一个相关问题:。如果你有时间,可以看一下吗?谢谢你的帮助-我真的很感激,@Noob,在我的电脑上,
class(data$V2)
is
numeric
。您可以在
read.table