2017-06-07 29 views
0

寫數據幀我有以下數據幀錯誤在CSV

df_Place: 
    Name|Places 
    ----+----------------------- 
    abc |delhi 
    bcd |mumbai,delhi 
    cde |chennai,hyderabad,delhi 
    def |mumbai 
    efg |bangalore,mumbai 
    ghi |delhi,bangalore 

我想有地方以矩陣的形式,所以我做了如下操作

df_Place$matrix<-as.matrix(strsplit(df_Place$Place,",")) 

我得到以下數據幀

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

現在試圖寫入csv write.csv(df_Place,「tx.csv」) 我得到以下錯誤: 錯誤.External2(C_writetable,X,文件,nrow(X),P,rnames 9月,EOL: 未實現類型 'EncodeElement' 名單'

但如果我刪除矩陣列,然後它成功寫入。

我知道,這是很基本的,但有人可以解釋這背後

+0

可以請你輸出/股的例子所產生的data.frame – timfaber

+0

對不起,我沒聽懂你 – aman

+0

這是比較容易,如果你輸出端產生一個答案數據(使用dput),以便用戶可以讀取它並立即對其進行處理。已經自己做了,並提供了一個答案(見下文) – timfaber

回答

0

它寫一個矩陣(具有多個維度),其中多的cols沒有尺寸的DF做(向量的原因)。我發現這個解決方案正常工作(見Outputting a Dataframe in R to a .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")