3

我正在尝试让 R 读取我的 CSV 文件(其中包含数字和分类数据)。我可以在 Windows 计算机上打开这个文件(我尝试了不同的,它总是有效)没有任何问题,但它根本不能在我的 Mac 上工作。我正在使用最新版本的 R。最初,数据在 Excel 中,然后我将其转换为 csv。

我已经用尽了所有选择,我尝试了类似主题的建议,但没有任何效果。有一次我有点成功,但结果看起来像这样:;32,0;K;;B;50;;;; 我尝试了本主题中给出的建议Import data into R with an unknown number of columns? 结果是一样的。我是 R 的初学者,我对编码或编程一无所知,所以我非常感谢任何关于这个问题的建议。以下是我解决这个问题的无能尝试:

> file=read.csv("~/Desktop/file.csv", sep = ";")
Error in type.convert(data[[i]], as.is = as.is[i], dec = dec, na.strings = character(0L))    : 
invalid multibyte string at '<ca>110'
> file=read.csv("~/Desktop/file.csv", sep = " ")
Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
duplicate 'row.names' are not allowed
> ?read.csv
> file=read.csv2("~/Desktop/file.csv", sep = ";")
Error in type.convert(data[[i]], as.is = as.is[i], dec = dec, na.strings = character(0L)) : 
invalid multibyte string at '<ca>110'
> file=read.csv2("~/Desktop/file.csv", sep = ";", header=TRUE)
Error in type.convert(data[[i]], as.is = as.is[i], dec = dec, na.strings = character(0L)) : 
invalid multibyte string at '<ca>110'
> file=read.csv("~/Desktop/file.csv", sep=" ",row.names=1)
Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
duplicate 'row.names' are not allowed
> file=read.csv("~/Desktop/file.csv", row.names=1)
Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
more columns than column names
> file=read.csv("~/Desktop/file.csv", sep=";",row.names=1)
Error in type.convert(data[[i]], as.is = as.is[i], dec = dec, na.strings = character(0L)) : 
invalid multibyte string at '<ca>110'

这就是数据标题的样子。所以使用下面的建议,我将文档保存为 Mac 的 CSV 格式,一旦我执行 View(file) 函数,一切看起来都很好,除了下面的 row#1(Cord Number 1)这样的一些行,它完全错位:

    Cord.Number Ply Attch   Knots   Length  Term    Thkns   Color   Value   
1,S,U,,37.0,K,,MB,,,"5.5 - 6.5:4, 8.0 - 8.5:2",,UR1031,unknown,             
1s1 S   U   1S(5.5/Z) 1E(11.5/S)    46.5    K   NA  W   11  
1s2 S   U   1S(5.5/Z) 5L(11.0/Z)    21.0    B   NA  W   15

这是电子表格在 Windows 上的 R Studio 中的样子(我没有足够的声誉来发布图片):http: //imgur.com/zQdJBT2

4

3 回答 3

1

作为一种解决方法,您可以在 Windows 计算机上打开 csv 文件,然后将其保存到 .rdata 文件中。Rdata 是 R 的内部存储格式。然后,您可以将文件放在 U 盘(或 DropBox、Google Drive 或其他任何东西)上,将其复制到您的 Mac 上,然后在那里进行处理。

# on the Windows PC
dat <- read.csv("<file>", ...)

save(dat, file="<file location>/dat.rdata")


# copy the dat.rdata file over, and then on your Mac:
load("<Mac location>/dat.rdata")
于 2013-06-28T03:41:43.337 回答
1

fileEncoding="latin1" 是一种让 R 读取文件的方法,但在我的情况下,它会丢失数据和特殊字符。例如,符号 € 消失了。

作为对我来说最适合这个问题的解决方法(我也在 Mac 上),我首先在 Sublime Text 上打开文件,然后“使用编码”UTF 8 保存它。当再次尝试导入它时,它可以被 R 阅读没有问题,我的特殊字符仍然存在。

于 2018-12-18T14:05:06.690 回答
0

我遇到了类似的问题,但是当在文件名之后包含fileEncoding="latin1"时,它可以工作

于 2018-12-13T19:01:38.880 回答