Rのデータフレームに基づいて.csvファイルを書き込もうとしていますが、何らかの理由で次のエラーが発生し続けます。
Error in .External2(C_writetable, x, file, nrow(x), p, rnames, sep, eol, :
unimplemented type 'list' in 'EncodeElement
これがtraceback()が提供するものです:
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")
解決策はありますか?
列の1つがリストタイプであるため、data.frameは2次元ではなくなり、2d csvファイルにエクスポートできません。
結果の出力にリストを保存したい場合は、最初にリストをJSONに変換できます。したがって、「文字」型の列になり、csvに1つの列として簡単にエクスポートできます。
Rで直接データフレームを強制変換することもできます。
my.df <- data.frame(lapply(old.df, as.character), stringsAsFactors=FALSE)
警告:これにより、データフレーム全体が指定したタイプに強制されます。たとえば、データフレームを数値に強制したい場合は、「as.characater」を「as.numeric」に置き換えます。
my.df <- data.frame(lapply(old.df, as.numeric), stringsAsFactors=FALSE)
私は同じ問題を抱えていて、as.character()またはas.numeric()を使用する代わりに、as.matrix()を使用しました。これにより、文字変数が文字になり、数値変数が数値になり、.csvファイルが出力されました。夢のような。