我有下面的数据框
df_Place:
Name|Places
----+-----------------------
abc |delhi
bcd |mumbai,delhi
cde |chennai,hyderabad,delhi
def |mumbai
efg |bangalore,mumbai
ghi |delhi,bangalore
Run Code Online (Sandbox Code Playgroud)
我想要矩阵形式的位置,所以我做了以下操作
df_Place$matrix<-as.matrix(strsplit(df_Place$Place,","))
Run Code Online (Sandbox Code Playgroud)
我得到下面的数据框
Name|Places |matrix
----+-----------------------+------------------------------
abc |delhi |delhi
bcd |mumbai,delhi |c("mumbai","delhi")
cde |chennai,hyderabad,delhi|c("chennai","hyderabad","delhi")
def |mumbai |mumbai
efg |bangalore,mumbai |c("bangalore","mumbai")
ghi |delhi,bangalore |c("delhi","bangalore")
Run Code Online (Sandbox Code Playgroud)
现在,在尝试将其写入 csv 时,
write.csv(df_Place,"tx.csv")
出现以下错误:
.External2(C_writetable, x, file, nrow(x), p, rnames, sep, eol, 中的错误:“EncodeElement”中未实现的类型“list”**
但如果我删除矩阵列,那么它就会成功写入。
我知道这将是非常基本的,但是有人可以解释这背后的原因吗?
它与将矩阵(具有多个维度)写入 df 相关,其中多个列没有维度(向量)。我发现这个解决方案有效(请参阅将 R 中的数据帧输出到 .csv)
# First coerce the data.frame to all-character
df_Place2 = data.frame(lapply(df_Place, as.character), stringsAsFactors=FALSE)
# write file
write.csv(df_place2,"tx.csv")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7945 次 |
| 最近记录: |