R 列和 type.convert(data[[i]] 中的错误,特别是在 Mac 上

标签 r macos excel csv read.table

我试图让 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/

相关文章:

r - 从 hclust(分层聚类)对象中提取距离

ios - 当 @State var 根据选取器选择发生更改时,一个 View 不会重新渲染

excel - 在 VBA 中,希望编写一个脚本,如果单元格包含某些文本(范围设置为列),该脚本将执行一个函数

vba - 在 VBA 中寻址 Web 浏览器 ActiveX 控件失败 (Excel 2013)

excel - 如何查找不包含特定文本的单元格并显示其值

R rbind 数据帧的数据帧

ubuntu 上的脚本

R 在一个语句中命名向量

ruby - IRB 历史不适用于 Ruby 2.3.0

c++ - 在 OSX 上构建和使用 LLVM 3.8 的通行证