arun
2013-Jun-15 17:15 UTC
[R] transform summary table list to summary table (for .csv output)
Hi, You could try this: #In one of the list element SampleSummary$ConcLow #?? Min. 1st Qu.? Median??? Mean 3rd Qu.??? Max.??? NA's # 0.4200? 0.6100? 0.7300? 0.7373? 0.8150? 1.6600?????? 1 #additional entry for NA.? You may need to check the data and remove the missing value.? Here, I removed that entry. library(stringr) res<-data.frame(lapply(SampleSummary,function(x) {x1<-x[names(x)!="NA's"];Nch1<-max(nchar(names(x1)));x2<-str_pad(names(x1),Nch1,side="right",pad=" ");paste(x2,x1,sep=":") }),stringsAsFactors=FALSE) ?res1<-as.table(as.matrix(res)) dimnames(res1)[[1]]<-rep("",nrow(res1)) ?str(res1) # 'table' chr [1:6, 1:17] "Min.?? :1995-10-10" "1st Qu.:1996-06-16" ... # - attr(*, "dimnames")=List of 2 #? ..$ : chr [1:6] "" "" "" "" ... #? ..$ : chr [1:17] "Date" "ConcLow" "ConcHigh" "Uncen" ... ?str(summarySample) # 'table' chr [1:6, 1:17] "Min.?? :2002-05-23? " "1st Qu.:2002-09-02? " ... # - attr(*, "dimnames")=List of 2 #? ..$ : chr [1:6] "" "" "" "" ... #? ..$ : chr [1:17] "???? Date" "?? ConcLow" "?? ConcHigh" "??? Uncen" ... ?summarySample[,1:3] #????? Date???????????????? ConcLow??????????? ConcHigh?????? # "Min.?? :2002-05-23? " "Min.?? :0.5800? " "Min.?? :0.5800? " # "1st Qu.:2002-09-02? " "1st Qu.:0.7525? " "1st Qu.:0.7525? " # "Median :2003-01-07? " "Median :0.7800? " "Median :0.7800? " # "Mean?? :2003-01-16? " "Mean?? :0.8100? " "Mean?? :0.8100? " # "3rd Qu.:2003-05-29? " "3rd Qu.:0.9025? " "3rd Qu.:0.9025? " # "Max.?? :2003-09-04? " "Max.?? :1.0900? " "Max.?? :1.0900? " ?res1[,1:3] # Date???????????????? ConcLow????????? ConcHigh??????? # "Min.?? :1995-10-10" "Min.?? :0.42"?? "Min.?? :0.27"? # "1st Qu.:1996-06-16" "1st Qu.:0.61"?? "1st Qu.:0.605" # "Median :1996-12-10" "Median :0.73"?? "Median :0.7275" # "Mean?? :1998-01-08" "Mean?? :0.7373" "Mean?? :0.7322" # "3rd Qu.:1998-03-12" "3rd Qu.:0.815"? "3rd Qu.:0.8125" # "Max.?? :2003-09-04" "Max.?? :1.66"?? "Max.?? :1.66"? #There is some space on the right for each column of summarySample.?? Not sure if you wanted that in res1. A.K. Hi, I have a R object called Sample which I am obtaining the summary table for through 2 methods: summarySample <- summary(Sample) & SampleSummary <- lapply(Sample, summary). I would like to transform the results of lapply(Sample, summary) into the same format as summary(Sample). I have included dput for both summary results. After I obtain the summary results I am exporting the table to a .csv and I would like both .csv files to be similarly formatted; however, I am not able to do that now. I have searched online for assistance, but I have not been successful yet. Thank you. Irucka Embry summarySample dput(summarySample) structure(c("Min. ? :2002-05-23 ?", "1st Qu.:2002-09-02 ?", "Median :2003-01-07 ?", "Mean ? :2003-01-16 ?", "3rd Qu.:2003-05-29 ?", "Max. ? :2003-09-04 ?", "Min. ? :0.5800 ?", "1st Qu.:0.7525 ?", "Median :0.7800 ?", "Mean ? :0.8100 ?", "3rd Qu.:0.9025 ?", "Max. ? :1.0900 ?", "Min. ? :0.5800 ?", "1st Qu.:0.7525 ?", "Median :0.7800 ?", "Mean ? :0.8100 ?", "3rd Qu.:0.9025 ?", "Max. ? :1.0900 ?", "Min. ? :1 ?", "1st Qu.:1 ?", "Median :1 ?", "Mean ? :1 ?", "3rd Qu.:1 ?", "Max. ? :1 ?", "Min. ? :0.5800 ?", "1st Qu.:0.7525 ?", "Median :0.7800 ?", "Mean ? :0.8100 ?", "3rd Qu.:0.9025 ?", "Max. ? :1.0900 ?", "Min. ? :55659 ?", "1st Qu.:55762 ?", "Median :55888 ?", "Mean ? :55898 ?", "3rd Qu.:56031 ?", "Max. ? :56128 ?", "Min. ? : 2 ?", "1st Qu.: 5 ?", "Median : 7 ?", "Mean ? : 7 ?", "3rd Qu.: 9 ?", "Max. ? :12 ?", "Min. ? : 35.0 ?", "1st Qu.:142.5 ?", "Median :201.5 ?", "Mean ? :199.3 ?", "3rd Qu.:247.2 ?", "Max. ? :345.0 ?", "Min. ? :2002 ?", "1st Qu.:2003 ?", "Median :2003 ?", "Mean ? :2003 ?", "3rd Qu.:2003 ?", "Max. ? :2004 ?", "Min. ? :1829 ?", "1st Qu.:1833 ?", "Median :1837 ?", "Mean ? :1837 ?", "3rd Qu.:1841 ?", "Max. ? :1845 ?", "Min. ? :-0.9670 ?", "1st Qu.:-0.8075 ?", "Median :-0.2531 ?", "Mean ? :-0.1224 ?", "3rd Qu.: 0.5788 ?", "Max. ? : 0.9906 ?", "Min. ? :-0.9917 ?", "1st Qu.:-0.7986 ?", "Median :-0.5209 ?", "Mean ? :-0.3123 ?", "3rd Qu.: 0.1663 ?", "Max. ? : 0.9327 ?", "Min. ? :0.1189 ?", "1st Qu.:0.5154 ?", "Median :1.3734 ?", "Mean ? :1.6672 ?", "3rd Qu.:2.6618 ?", "Max. ? :5.7483 ?", "Min. ? :-2.12921 ?", "1st Qu.:-0.71031 ?", "Median : 0.30516 ?", "Mean ? : 0.02173 ?", "3rd Qu.: 0.97834 ?", "Max. ? : 1.74891 ?", "Min. ? :-0.4057 ?", "1st Qu.:-0.2986 ?", "Median :-0.2131 ?", "Mean ? :-0.2022 ?", "3rd Qu.:-0.1459 ?", "Max. ? : 0.0798 ?", "Min. ? :0.02030 ?", "1st Qu.:0.03857 ?", "Median :0.06197 ?", "Mean ? :0.06628 ?", "3rd Qu.:0.08225 ?", "Max. ? :0.17336 ?", "Min. ? :0.6766 ?", "1st Qu.:0.7432 ?", "Median :0.8117 ?", "Mean ? :0.8259 ?", "3rd Qu.:0.8646 ?", "Max. ? :1.0838 ?"), .Dim = c(6L, 17L), .Dimnames = list(c("", "", "", "", "", ""), c(" ? ? Date", " ? ConcLow", " ? ConcHigh", " ? ?Uncen", " ? ConcAve", " ? ?Julian", " ? ?Month", " ? ? Day", " ? DecYear", " ? MonthSeq", " ? ?SinDY", " ? ?CosDY", " ? ? ?Q", " ? ? LogQ", " ? ? yHat", " ? ? ?SE", " ? ConcHat")), class = "table") SampleSummary dput(SampleSummary) structure(list(Date = structure(c(9413, 9663, 9840, 10234.0652174, 10297.75, 12299), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table", "Date" )), ConcLow = structure(c(0.42, 0.61, 0.73, 0.7373, 0.815, 1.66, 1), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max.", "NA's"), class = c("summaryDefault", "table")), ConcHigh = structure(c(0.27, 0.605, 0.7275, 0.7322, 0.8125, 1.66), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), Uncen = structure(c(0, 1, 1, 0.9891, 1, 1), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), ConcAve = structure(c(0.135, 0.605, 0.7275, 0.7307, 0.8125, 1.66), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), Julian = structure(c(53240, 53490, 53670, 54060, 54130, 56130), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), Month = structure(c(1, 3.75, 6, 6.315, 9, 12), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), Day = structure(c(6, 89.5, 173.5, 175, 249.5, 356), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), DecYear = structure(c(1996, 1996, 1997, 1998, 1998, 2004), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), MonthSeq = structure(c(1750, 1758, 1764, 1777, 1779, 1845), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), SinDY = structure(c(-0.9999, -0.7539, 0.1113, 0.02759, 0.6849, 1), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), CosDY = structure(c(-1, -0.7595, -0.1707, -0.08807, 0.5758, 0.9955), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), Q = structure(c(0.1189, 0.7646, 1.529, 2.951, 2.895, 24.41), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), LogQ = structure(c(-2.129, -0.2685, 0.4245, 0.492, 1.063, 3.195), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), yHat = structure(c(-0.5147, -0.4256, -0.3506, -0.3377, -0.2826, 0.1143), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), SE = structure(c(0.1045, 0.1934, 0.2169, 0.2214, 0.2622, 0.3152), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table")), ConcHat = structure(c(0.601, 0.6781, 0.7206, 0.736, 0.7777, 1.127), .Names = c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max."), class = c("summaryDefault", "table"))), .Names = c("Date", "ConcLow", "ConcHigh", "Uncen", "ConcAve", "Julian", "Month", "Day", "DecYear", "MonthSeq", "SinDY", "CosDY", "Q", "LogQ", "yHat", "SE", "ConcHat"))