2017-08-28 62 views
0

在R中我試圖根據其中一個變量輸出一個帶有子標題的數據框。我們需要的是用副標題所示(使用虹膜數據)CSV文本:R中的表子標題

# setosa 
5.1, 3.5, 1.4, 0.2 
4.9, 3.0, 1.4, 0.2 
... 
# versicolor 
7.0, 3.2, 4.7, 1.4 
6.4, 3.2, 4.5, 1.5 
... 
# virginica 
6.3, 3.3, 6.0, 2.5 
5.8, 2.7, 5.1, 1.9 
... 

有哪些處理這樣的任務的本機命令的?有包裝嗎?

+0

您可能想看看dplyr,特別是'filter'功能 – csgroen

+0

嘗試'split',例如(分裂(虹膜[1:4],虹膜[5])或拉普利(分裂(虹膜[1:4],虹膜[5]),頭部,3)''。 – lukeA

回答

0

您可以使用catwrite.tableappend = TRUE的組合來創建輸出。請注意,我們將在開始時設置append = FALSE

mylist = split(iris, iris$Species) 
lapply(1:length(mylist), function(i){ 
    if (i == 1){ 
     append = FALSE 
    }else{ 
     append = TRUE 
    } 
    #Write the name of the Species 
    cat(paste0("#",names(mylist)[i],"\n"), file = "~/test.csv", append = append) 
    #Write the data corresponding to the above Species 
    write.table(mylist[[i]], file = "~/test.csv", sep = ",", append = TRUE) 
}) 
+0

謝謝@ d.b這很有幫助。 –