簡體   English   中英

如何將數據幀寫入 csv 文件?

[英]How to make write a data frame to a csv file?

我正在制作一個數據框,其中一列是專業,第二列是專業的課程列表。

df <- data.frame(majors = majors) df[,"courses"] <- courses

其中專業是一個向量,課程是一個列表列表。 當我嘗試使用

write.csv(df,"Majors_and_Courses.csv", row.names = FALSE)

我收到一條錯誤消息,提示“write.table 中的錯誤(df,“Majors_and_Courses.csv”,row.names = FALSE,:“EncodeElement”中未實現的類型“list”)

我懷疑您正在創建 data.table 或類似名稱,因為df[,"courses"] <- courses否則會給您一個警告。

使用 data.table 的解決方案:

library(data.table)
dt <- data.table(majors = c("John", "Lisa", "Tim"))
courses <- list(a = list("m","n","o"), b = list("p", "q", "r"), c = list("s", "t", "u"))
dt[,"courses"] <- courses
dt$courses <- vapply(dt$courses, paste, collapse = "; ", character(1L))
write.csv(dt, "Majors_and_Courses.csv", row.names = FALSE)

預先取消列出會更改長度,將其添加到數據表后取消列出將導出“c(...)”結構。 您可以按照您希望的方式更改嵌套列表的分隔符,但我不鼓勵您重復使用要導出的文件的分隔符(在這種情況下為“,”)以避免混淆。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM