我试图让 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(线号 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
最佳答案
作为解决方法,您可以在 Windows 计算机上打开 csv 文件,然后将其保存到 .rdata 文件。 Rdata是R的内部存储格式。然后,您可以将该文件放在 USB 内存棒(或 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")
关于R 列和 type.convert(data[[i]] 中的错误,特别是在 Mac 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17356482/