[英]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.