我需要将多个表保存在一个 CSV 文件中,并且很难看到如何保留维度名称。我搜索了 SO,发现最接近的是: 如何在 xtable.table 输出中获取暗名? 他对 xtable 的问题是我对 write.table 的问题——表中存在暗名(如果我使用它,还有 prop.table 和 ftable),但被 write.table 删除。我使用 write.table 而不是 write.csv 来表示 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
}
}