Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 创建结果表并绘制直方图_R_Rstudio_Histogram - Fatal编程技术网

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)