Home » excel » macos – R Error in columns and type.convert(data[[i]], specifically on Mac

macos – R Error in columns and type.convert(data[[i]], specifically on Mac

Posted by: admin April 23, 2020 Leave a comment

Questions:

I am trying to make R read my CSV file (which contains numerical and categorical data). I am able to open this file on a Windows computer(I tried different ones and it always worked) without any issues, but it is not working on my Mac at all. I am using the latest version of R. Originally, the data was in Excel and then I converted it to csv.

I have exhausted all my options, I tried recommendations from similar topics but nothing works. One time I sort of succeeded but the result looked like this: ;32,0;K;;B;50;;;; I tried the advice given in this topic Import data into R with an unknown number of columns? and the result was the same. I am a beginner in R and I really know nothing about coding or programming, so I would appreciate tremendously any kind of advice on this issue.Below are my feckless attempts to fix this problem:

> 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'

This is what the header of the data looks like. So using the advice below, I saved the document in the CSV format for Mac and once I executed the View(file) function, everything looked ok, except for some rows like the row#1 (Cord Number 1) below, it was completely misplaced :

    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

This is what the spreadsheet looks like in R Studio on Windows (I don’t have enough reputation to post an image):
http://imgur.com/zQdJBT2

How to&Answers:

As a workaround, what you can do is open the csv file on a Windows machine, and then save it to a .rdata file. Rdata is R’s internal storage format. You can then put the file on a USB stick, (or DropBox, Google Drive, or whatever), copy it to your Mac, and work on it there.

# 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")

Answer:

fileEncoding=”latin1″ is a way to make R read the file, but in my case it came with loss of data and special characters. For example, the symbol € disappeared.

As a workaround that worked best for me for this issue (I’m on a mac too), I opened first the file on Sublime Text, and saved it “with encoding” UTF 8.
When trying to import it after again, it could get read by R with no problem, and my special character were still present.

Answer:

I had a similar problem, but when including , fileEncoding=”latin1″ after file’s name it works