So I'm trying to write a .csv file based on a data frame in R, but for some reason I keep getting the following error:
Error in .External2(C_writetable, x, file, nrow(x), p, rnames, sep, eol, : unimplemented type 'list' in 'EncodeElement
This is what traceback() is giving:
5: write.table(df, file = "df.csv", col.names = NA, sep = ",", dec = ".", qmethod = "double") 4: eval(expr, envir, enclos) 3: eval(expr, p) 2: eval.parent(Call) 1: write.csv(df, file = "df.csv")
Any solution?
If your data frame is reasonably small, you can just use the write. csv function from base R to export it to a CSV file.
In RStudio, click on the Workspace tab, and then on “Import Dataset” -> “From text file”. A file browser will open up, locate the . csv file and click Open. You'll see a dialog that gives you a few options on the import.
You can also coerce data frames directly in R:
my.df <- data.frame(lapply(old.df, as.character), stringsAsFactors=FALSE)
CAVEAT: this will coerce your entire dataframe to whatever type you specify. For example, if you want to coerce your dataframe to number, you would replace 'as.characater' with 'as.numeric':
my.df <- data.frame(lapply(old.df, as.numeric), stringsAsFactors=FALSE)
One of your columns is of type list, so the data.frame is no longer 2-dimensional and can't be exported to a 2d csv-file.
If you still want to store the list in the resulting output, you might transform it to JSON first. So it becomes an column of type "character" which can be easily exported as one column to csv.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With