修订版 | 34c84b4317434dc90ad996efbea7c0ce4cdbf4c1 (tree) |
---|---|
时间 | 2020-01-31 22:33:59 |
作者 | Lorenzo Isella <lorenzo.isella@gmai...> |
Commiter | Lorenzo Isella |
A script showing how to use the new excel functions.
@@ -0,0 +1,106 @@ | ||
1 | +rm(list=ls()) | |
2 | +library(tidyverse) | |
3 | +library(openxlsx) | |
4 | + | |
5 | + | |
6 | +source("/home/lorenzo/myprojects-hg/R-codes/stat_lib.R") | |
7 | + | |
8 | + | |
9 | +## append_xlsx <- function(df_for_workbook, out_xlsx, name_worksheet) | |
10 | +## if (!file.exists(out_xlsx)) { | |
11 | +## # Create workbook using openxlsx | |
12 | +## wb <- createWorkbook() | |
13 | +## # Add worksheet | |
14 | +## addWorksheet(wb, name_worksheet) | |
15 | +## # Write data frame to new worksheet | |
16 | +## writeData(wb, name_worksheet, df_for_workbook) | |
17 | +## # Save file | |
18 | +## saveWorkbook(wb, file = out_xlsx) | |
19 | +## } else { | |
20 | +## # Read in existing data | |
21 | +## old_wb <- | |
22 | +## readWorkbook(out_xlsx, | |
23 | +## sheet = name_worksheet, | |
24 | +## detectDates = TRUE) | |
25 | +## # Append new data | |
26 | +## new_data <- | |
27 | +## bind_rows(old_wb, | |
28 | +## df_for_workbook) | |
29 | +## # Load and write updated data frame to existing worksheet | |
30 | +## wb <- loadWorkbook(out_xlsx) | |
31 | +## writeData(wb, name_worksheet, new_data) | |
32 | +## # Save file | |
33 | +## saveWorkbook(wb, out_xlsx, overwrite = TRUE) | |
34 | +## } | |
35 | + | |
36 | + | |
37 | + | |
38 | +## add_sheet_xlsx <- function(df, filename, sheet_name){ | |
39 | + | |
40 | +## wb <- loadWorkbook(filename) | |
41 | +## addWorksheet(wb, sheet_name) | |
42 | +## writeData(wb, sheet = sheet_name, df,keepNA = TRUE) | |
43 | +## saveWorkbook(wb,filename,overwrite = T) | |
44 | +## } | |
45 | + | |
46 | + | |
47 | + | |
48 | +df_ini <- read_tsv("eu-korea.tsv") %>% | |
49 | + mutate(month=as.integer(month), | |
50 | + year=as.integer(year))%>% | |
51 | + arrange(desc(year), desc(month)) | |
52 | + | |
53 | +df <- df_ini %>% | |
54 | + filter(month %in% seq(1,11) ) %>% | |
55 | + group_by(reporterlabel, partnerlabel ,year) %>% | |
56 | + summarise(tot_imports=sum(i_value), | |
57 | + tot_exports=sum(e_value)) %>% | |
58 | + calc_growth(tot_imports, growth_imports) %>% | |
59 | + calc_growth(tot_exports, growth_exports) %>% | |
60 | + mutate(growth_exports=growth_exports*100, | |
61 | + growth_imports=growth_imports*100) | |
62 | + | |
63 | + | |
64 | + | |
65 | +write.xlsx(df_ini, file = "EU-Korea2.xlsx", | |
66 | + sheetName = "raw_data", row.names=F,keepNA = TRUE) | |
67 | + | |
68 | + | |
69 | +add_sheet_xlsx(df, "EU-Korea2.xlsx", "results") | |
70 | + | |
71 | + | |
72 | + | |
73 | +## wb <- loadWorkbook("EU-Korea2.xlsx") | |
74 | + | |
75 | +## addWorksheet(wb, "results") | |
76 | + | |
77 | +## writeData(wb, sheet = "results", df,keepNA = TRUE) | |
78 | + | |
79 | +## saveWorkbook(wb,"EU-Korea2.xlsx",overwrite = T) | |
80 | + | |
81 | + | |
82 | + | |
83 | + | |
84 | +## wb <- loadWorkbook("EU-Korea2.xlsx") | |
85 | + | |
86 | +## addWorksheet(wb, "results") | |
87 | + | |
88 | +## writeData(wb, sheet = "results", df,keepNA = TRUE) | |
89 | + | |
90 | +## saveWorkbook(wb,"EU-Korea2.xlsx",overwrite = T) | |
91 | + | |
92 | + | |
93 | + | |
94 | + | |
95 | + | |
96 | + | |
97 | + | |
98 | + | |
99 | + | |
100 | + | |
101 | + | |
102 | + | |
103 | + | |
104 | +## append_xlsx(df_ini,"EU-Korea.xlsx" ,"test") | |
105 | + | |
106 | +print("So far so good") |