R 创建结果表并绘制直方图
我经过计算得出了这些结果R 创建结果表并绘制直方图,r,rstudio,histogram,R,Rstudio,Histogram,我经过计算得出了这些结果 results<-structure(list(`1-2006` = structure(list(a = 2.569609631261, l = 1.07133133970952, v = 0.0717722617877896, k = 0.942672861627156, f = 0.388933771611416, mx = 13.5026751665079), .Names = c("a", "l", "v", "k", "f", "
results<-structure(list(`1-2006` = structure(list(a = 2.569609631261,
l = 1.07133133970952, v = 0.0717722617877896, k = 0.942672861627156,
f = 0.388933771611416, mx = 13.5026751665079), .Names = c("a",
"l", "v", "k", "f", "mx")), `1-2007` = structure(list(a = 12.1740785313206,
l = 0.253071159621183, v = 0.00109045670813382, k = 12.1383424353805,
f = 0.382836164409956, mx = 371.57077346378), .Names = c("a",
"l", "v", "k", "f", "mx")), `1-2008` = structure(list(a = 7.61500330474582,
l = 0.480886095894786, v = 0.0169270813765404, k = 2.44342267614725,
f = 0.079954717880489, mx = 22.1891386586908), .Names = c("a",
"l", "v", "k", "f", "mx"))), .Names = c("1-2006", "1-2007", "1-2008"
))
results要从列表中创建表,可以利用do.call()
:
您还可以使用openxlsx
package以不同的样式将表格保存在excel工作簿中,如下所示
list.results <-list(
`1-2006` = list(
¦ a = 2.569609631261,
¦ l = 1.07133133970952,
¦ v = 0.0717722617877896,
¦ k = 0.942672861627156,
¦ f = 0.388933771611416,
¦ mx = 13.5026751665079
),
`1-2007` = list(
¦ a = 12.1740785313206,
¦ l = 0.253071159621183,
¦ v = 0.00109045670813382,
¦ k = 12.1383424353805,
¦ f = 0.382836164409956,
¦ mx = 371.57077346378
),
`1-2008` = list(
¦ a = 7.61500330474582,
¦ l = 0.480886095894786,
¦ v = 0.0169270813765404,
¦ k = 2.44342267614725,
¦ f = 0.079954717880489,
¦ mx = 22.1891386586908
)
)
## Transform list of list to matrix
matrix.results <- do.call(rbind, results)
## Options for default styling (These are the defaults)
options("openxlsx.borderColour" = "black")
options("openxlsx.borderStyle" = "thin")
## Change the default border colour to #4F81BD
options("openxlsx.borderColour" = "#4F81BD")
#######################################################
## Create Workbook object and add worksheets
wb <- createWorkbook()
## Add worksheets
addWorksheet(wb, "results")
x <- matrix.results
#######################################################
## No bordering
writeData(wb, "results", x, startCol = 2, startRow = 3, colNames = TRUE, rowNames = TRUE)
#######################################################
## Header Styles
hs1 <- createStyle(fgFill = "#DCE6F1", halign = "CENTER", textDecoration = "italic",
¦ ¦ ¦ ¦ border = "Bottom")
writeData(wb, "results", x, startCol=2, startRow = 8, colNames = TRUE, rowNames = TRUE,
¦ ¦ borders="rows", headerStyle = hs1, borderStyle = "dashed")
#######################################################
## Save workbook
saveWorkbook(wb, paste(outDir, "results.xlsx", sep = "/"), overwrite = TRUE)
list.results将列表转换为data.frame,以长格式重塑形状,并使用ggplot和facet_wrap
#example for the first column
library(ggplot2)
ggplot(df, aes(x=a)) + geom_histogram()
list.results <-list(
`1-2006` = list(
¦ a = 2.569609631261,
¦ l = 1.07133133970952,
¦ v = 0.0717722617877896,
¦ k = 0.942672861627156,
¦ f = 0.388933771611416,
¦ mx = 13.5026751665079
),
`1-2007` = list(
¦ a = 12.1740785313206,
¦ l = 0.253071159621183,
¦ v = 0.00109045670813382,
¦ k = 12.1383424353805,
¦ f = 0.382836164409956,
¦ mx = 371.57077346378
),
`1-2008` = list(
¦ a = 7.61500330474582,
¦ l = 0.480886095894786,
¦ v = 0.0169270813765404,
¦ k = 2.44342267614725,
¦ f = 0.079954717880489,
¦ mx = 22.1891386586908
)
)
## Transform list of list to matrix
matrix.results <- do.call(rbind, results)
## Options for default styling (These are the defaults)
options("openxlsx.borderColour" = "black")
options("openxlsx.borderStyle" = "thin")
## Change the default border colour to #4F81BD
options("openxlsx.borderColour" = "#4F81BD")
#######################################################
## Create Workbook object and add worksheets
wb <- createWorkbook()
## Add worksheets
addWorksheet(wb, "results")
x <- matrix.results
#######################################################
## No bordering
writeData(wb, "results", x, startCol = 2, startRow = 3, colNames = TRUE, rowNames = TRUE)
#######################################################
## Header Styles
hs1 <- createStyle(fgFill = "#DCE6F1", halign = "CENTER", textDecoration = "italic",
¦ ¦ ¦ ¦ border = "Bottom")
writeData(wb, "results", x, startCol=2, startRow = 8, colNames = TRUE, rowNames = TRUE,
¦ ¦ borders="rows", headerStyle = hs1, borderStyle = "dashed")
#######################################################
## Save workbook
saveWorkbook(wb, paste(outDir, "results.xlsx", sep = "/"), overwrite = TRUE)