簡體   English   中英

如何使write.table保留dimnames?

[英]How to make write.table retain dimnames?

我需要在一個CSV文件中保存大量表格,並且很難看到如何保留維度名稱。 我搜索了SO,我找到的最接近的是: 如何在xtable.table輸出中獲取dimnames? 他對xtable的問題是我用write.table得到的問題 - 表中存在dimnames(如果我使用的話,還有prop.table和ftable)但是被write.table刪除了。 我正在使用write.table而不是write.csv for append = T.

數據集來自調查,目的是創建帶有標記軸的完整交叉表集。 在這種情況下,實際的行/列標簽並不重要,只有維度標簽。 我是R的新手,所以希望我沒有錯過任何明顯的東西。

d<-read.csv('dataset.csv')  # dataset with column headings, no row labels
cat('BEGIN\n',file='xtabs.csv')
for (i in 1:ncol(d)) {
    for (j in 1:ncol(d)) {
        cat(paste('\ni=',i,' j=',j,'\n'),file='xtabs.csv',append=T)
        t<-table(d[,i],d[,j],dnn=c(names(d[i]),names(d[j])))
        pt<-prop.table(t,1)
        write.table(pt,'xtabs.csv',sep=',',dec='.',row.names=F,col.names=F,append=T)
        print(pt)   # shows dimnames in the console as expected
    }
}

試試這個:

tbl <- with(warpbreaks, table(wool, tension))
pt <- prop.table(tbl)
write.ftable(ftable(pt),file = "~/Desktop/table.csv", sep = ",",
             quote = FALSE)

我可能在這里濫用ftable ,它們用於多維表格數據(即兩個以上的變量)。 但這是我發現的唯一能將表格寫入文本文件(看似)你想要的格式。

暫無
暫無

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

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