首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让write.table保留dimnames?

如何让write.table保留dimnames?
EN

Stack Overflow用户
提问于 2013-01-10 23:43:02
回答 1查看 1.8K关注 0票数 3

我需要在单个CSV文件中保存多个表,并且很难知道如何保留维度名称。我搜索了一下,我找到的最接近的是:How to get dimnames in xtable.table output?他在xtable上遇到的问题就是我在write.table上遇到的问题-dimname存在于表中(如果我使用的话prop.table和ftable也存在),但是被write.table删除了。我使用的是write.table,而不是append=T的write.csv。

该数据集来自一项调查,目的是创建一组完整的交叉表,并标记轴。在这种情况下,实际的行/列标签并不重要,只有维度标签。我是R的新手,所以希望我没有错过一些明显的东西。

代码语言:javascript
复制
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
    }
}
EN

回答 1

Stack Overflow用户

发布于 2013-01-11 00:46:52

试试这个:

代码语言:javascript
复制
tbl <- with(warpbreaks, table(wool, tension))
pt <- prop.table(tbl)
write.ftable(ftable(pt),file = "~/Desktop/table.csv", sep = ",",
             quote = FALSE)

我在这里可能会滥用ftable,它用于多维表格数据(即两个以上的变量)。但这是我发现的唯一可以将表写入(似乎)具有您想要的格式的文本文件的方法。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14261636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档