R “不需要的字符”−&引用;导入文本文件时显示
我有一个记事本txt文件,名为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
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)
isnumeric
。您可以尝试使用dec='.
read.table中的参数。
谢谢您的回答!我尝试了上面的答案,所有的负值都替换为NA。你知道怎么解决吗?@Noob,看看我的编辑谢谢你的回复。我试图将“V2”列转换为“numeric”,但它似乎不起作用。我在这里发布了一个相关问题:。如果你有时间,可以看一下吗?谢谢你的帮助-我真的很感激,@Noob,在我的电脑上,class(data$V2)
isnumeric
。您可以在read.table