Hi jpm miao, After a fair stretch of fooling around with it, I can't see any way to add the variable names ("varnames") to the output of delim.table without breaking it for things other than table objects. You can probably do this as a one-off hack by setting the names of the dimnames of the "counts" element in alphatab like this:
names(dimnames(alphatab$counts))<-alphatab$varnames You can then shoehorn these into the output by adding a line to display the second varname above the table and add the first varname to the row of value labels. That's the best I can do at the moment. Jim On Sun, May 1, 2016 at 11:19 AM, jpm miao <miao...@gmail.com> wrote: > Thanks. > Could we print the row/column names, "alpha1" and "alpha2" to the csv file? > > 2016-04-30 17:06 GMT-07:00 Jim Lemon <drjimle...@gmail.com>: >> >> Hi jpm miao, >> I think you can get what you want like this: >> >> alpha1<-sample(LETTERS[1:3],50,TRUE) >> alpha2<-sample(LETTERS[1:2],50,TRUE) >> alphas<-data.frame(alpha1,alpha2) >> library(prettyR) >> alphatab<-xtab(alpha1~alpha2,alphas) >> sink("temp_table3.csv",append=TRUE) >> delim.xtab(alphatab,pct=NA,delim=",") >> sink() >> >> Jim >> >> On Sun, May 1, 2016 at 4:47 AM, jpm miao <miao...@gmail.com> wrote: >> > Jim, >> > >> > Thanks for creating such a fantastic package "prettyR". >> > I want to print the pretty frequency table (with row total and column >> > total) to an excel (or csv ) file. Is it possible? >> >>alphatab >> > >> > A B Total >> > A 8 10 18 >> > B 7 5 12 >> > C 9 11 20 >> > Total 24 26 50 >> > >> > Two issues I encountered (See the attached csv file). >> > 1. When I tried to print the above table to csv file, all elements on >> > the >> > same row are printed in one cell. >> > 2. If I write "delim.table(alpha tab)", the table is distorted (see >> > attached). Of course, I can adjust it manually but sometimes the number >> > of >> > files is big. >> > >> > Thanks! >> > >> > Miao >> > >> >> alpha1<-sample(LETTERS[1:3],50,TRUE) >> >> alpha2<-sample(LETTERS[1:2],50,TRUE) >> >> >> >> alphas<-data.frame(alpha1,alpha2) >> >> alphatab<-xtab(alpha1~alpha2,alphas) >> > Crosstabulation of alpha1 by alpha2 >> > alpha2 >> > alpha1 A B >> > A 8 10 18 >> > 44.44 55.56 - >> > 33.33 38.46 36.00 >> > >> > B 7 5 12 >> > 58.33 41.67 - >> > 29.17 19.23 24.00 >> > >> > C 9 11 20 >> > 45 55 - >> > 37.50 42.31 40.00 >> > >> > 24 26 50 >> > 48 52 100 >> >> delim.xtab(alphatab,pct=NA,interdigitate=TRUE) >> > alphatab >> > >> > A B Total >> > A 8 10 18 >> > B 7 5 12 >> > C 9 11 20 >> > Total 24 26 50 >> > >> >> sink("temp_table3.csv") >> >> delim.xtab(alphatab,pct=NA,interdigitate=TRUE) >> >> sink() >> >> sink("temp_table3.csv", append=TRUE) >> >> delim.table(alphatab) >> >> sink() >> >> sink("temp_table3.csv", append=TRUE) >> >> delim.table(alphatab) >> >> sink() >> >> ?delim.xtab >> > >> > >> > 2016-04-26 16:14 GMT-07:00 Jim Lemon <drjimle...@gmail.com>: >> >> >> >> Hi jpm miao, >> >> You can get CSV files that can be imported into Excel like this: >> >> >> >> library(prettyR) >> >> sink("excel_table1.csv") >> >> delim.table(table(df[,c("y","z")])) >> >> sink() >> >> sink("excel_table2.csv") >> >> delim.table(as.data.frame(table(df[,c("y","z")])),label="") >> >> sink() >> >> sink("excel_table3.csv") >> >> delim.table(as.matrix(table(df[,c("y","z")])),label="") >> >> sink() >> >> >> >> Jim >> >> >> >> On Wed, Apr 27, 2016 at 8:35 AM, jpm miao <miao...@gmail.com> wrote: >> >> > Hi, >> >> > >> >> > How could we print the frequency table (produced by "table") to an >> >> > Excel >> >> > file? >> >> > Is there an easy way to do so? Thanks, >> >> > >> >> > Miao >> >> > >> >> >> df <- data.frame(x = 1:3, y = 3:1, z = letters[1:3]) >> >> > >> >> >> table(df[,c("y","z")]) >> >> > z >> >> > y a b c >> >> > 1 0 0 1 >> >> > 2 0 1 0 >> >> > 3 1 0 0 >> >> >> test<-table(df[,c("y","z")]) >> >> >> as.data.frame(test) >> >> > y z Freq >> >> > 1 1 a 0 >> >> > 2 2 a 0 >> >> > 3 3 a 1 >> >> > 4 1 b 0 >> >> > 5 2 b 1 >> >> > 6 3 b 0 >> >> > 7 1 c 1 >> >> > 8 2 c 0 >> >> > 9 3 c 0 >> >> >> as.matrix(test) >> >> > z >> >> > y a b c >> >> > 1 0 0 1 >> >> > 2 0 1 0 >> >> > 3 1 0 0 >> >> >> testm<-as.matrix(test) >> >> >> testm >> >> > z >> >> > y a b c >> >> > 1 0 0 1 >> >> > 2 0 1 0 >> >> > 3 1 0 0 >> >> >> typeof(testm) >> >> > [1] "integer" >> >> > >> >> > [[alternative HTML version deleted]] >> >> > >> >> > ______________________________________________ >> >> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> >> > https://stat.ethz.ch/mailman/listinfo/r-help >> >> > PLEASE do read the posting guide >> >> > http://www.R-project.org/posting-guide.html >> >> > and provide commented, minimal, self-contained, reproducible code. >> > >> > > > ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.