### Data Processing for ### "Vernetzung und Verflechtung: J. Rieter-Biedermann auf dem internationalen Musikalienmarkt" ### published in Musiktheorie 1/2026 ### R-script by Dr. Maximilian Rosenthal, University of Bonn, 10/06/2025, ### last edited 20/01/26. ### Original dataset from https://musikverlage.slub-dresden.de/fileadmin/user_upload/Datenabzug_Oktober_2023.zip (version 10/23). ### For documentation see ibid. ### Variable names are kept in German in alignment with original dataset. ### Not all operations in this script are featured in the paper. # load packages and dataset pacman::p_load(pacman, tidyverse, tidyr, dplyr, ggplot2, lubridate, rio, magrittr, stringi, scales) Abzug_polished_5b<-read.csv("master_2.csv") #fileEncoding = "UTF-8" #00) extract relevant data from dataset, add variables JAHR and ERSCHEINUNGSJAHR (per Teilartikel!) RB0<-Abzug_polished_5b%>% mutate(VERLAG=substr(MVDB_ID, 0,2))%>% mutate(JAHR=year(DRUCKDATUM))%>% filter(VERLAG=="RB")%>% group_by(MVDB_ID)%>% mutate(ERSCHEINUNGSJAHR = min(JAHR))%>% ungroup() rm(Abzug_polished_5b) #fix individual mistakes in relevant variables: 1) reintroduce NAs previously overwritten, 2) fix weltlich/geistlich-categorizations in invidiual cases, and apply "Orgel" as separate category RB0<-RB0%>% mutate( #mutate organ SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH=ifelse(KOMBINIERTE_BESETZUNG_REAL=="Orgel", "Orgel", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate( #NA1 SUM_KOMB_BESETZUNG_REAL_V.I = ifelse(is.na(KOMBINIERTE_BESETZUNG_REAL_VOKAL.INSTRUMENTAL), NA, SUM_KOMB_BESETZUNG_REAL_V.I))%>% mutate( #NA2 SUM_KOMB_BESETZUNG_REAL_ENSEMBLE.SOLO = ifelse(is.na(KOMBINIERTE_BESETZUNG_REAL_EINZELN.ENSEMBLE), NA, SUM_KOMB_BESETZUNG_REAL_ENSEMBLE.SOLO))%>% mutate( #NA3 SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(is.na(KOMBINIERTE_GENRES_REAL_SPHAEREN), NA, SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate( #NA4 SUM_KOMB_GENRE_REAL_VOR1800 = ifelse(is.na(KOMBINIERTE_GENRES_REAL_VOR1800), NA, SUM_KOMB_GENRE_REAL_VOR1800))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00569", "weltlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID== "RB_00734", "weltlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID== "RB_00735", "weltlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID== "RB_01374", "weltlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID== "RB_01375Y", "weltlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID== "RB_01894", "weltlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID== "RB_01896", "weltlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID== "RB_02404", "weltlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID== "RB_02467", "weltlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID== "RB_02468", "weltlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00084", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00084", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00084", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00112", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00135", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00216a", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00262", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00264", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00278", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00280", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00304", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00368", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00457", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00497", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00498", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00505", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00506", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00514", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00515", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00548", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00549", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00610", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00611", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00614", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00757", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00758", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00759", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00760", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00858", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_00859", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_01022", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_01055", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_01197a", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_01996", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_01998", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02153", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02200", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02266", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02278", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02281", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02522", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02523", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02525", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02607", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02861", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02931", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02935", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02938", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH = ifelse(VERLAGSARTIKEL_ID == "RB_02946", "geistlich", SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH))%>% mutate(DRUCKDATUM = ifelse(DRUCK_UID =="61722", "1895-11-01", DRUCKDATUM)) #01) calculate number of issued and reissued subitems p.a.(omitting NAs n=81!) RB_YEARLY_SUBEDS<-RB0%>%select(MVDB_ID, JAHR)%>% unique%>% na.omit()%>% group_by(JAHR)%>% tally() #calculate number of issued and reissued editions p.a.(omitting NAs n=50!) RB_YEARLY_EDS<-RB0%>%select(VERLAGSARTIKEL_ID, JAHR)%>% unique%>% na.omit%>% group_by(JAHR)%>% tally() #calculate number of first issued subitems p.a. (omitting NAs n=81!) RB_YEARLY_NEW_SUBEDS<-RB0%>%select(MVDB_ID, ERSCHEINUNGSJAHR)%>% unique%>% na.omit()%>% group_by(ERSCHEINUNGSJAHR)%>% tally()%>% add_row(ERSCHEINUNGSJAHR = 1918, n = 0, .before = 63) #calculate number of first issued editions p.a., based on the earliest subitem per edition (omitting NAs n=50!) RB_YEARLY_NEW_EDS<-RB0%>%select(VERLAGSARTIKEL_ID, ERSCHEINUNGSJAHR)%>% unique%>% group_by(VERLAGSARTIKEL_ID)%>% mutate(ERSTERSCHEINUNGSJAHR=min(ERSCHEINUNGSJAHR))%>% ungroup()%>% select(VERLAGSARTIKEL_ID, ERSTERSCHEINUNGSJAHR)%>% unique%>% na.omit()%>% group_by(ERSTERSCHEINUNGSJAHR)%>% tally()%>% add_row(ERSTERSCHEINUNGSJAHR = 1916, n = 0, .before = 61)%>% add_row(ERSTERSCHEINUNGSJAHR = 1918, n = 0)%>% add_row(ERSTERSCHEINUNGSJAHR = 1919, n = 0) #merge data and prepare for plotting with ggplot RB_EDS<-RB_YEARLY_EDS%>% left_join(RB_YEARLY_SUBEDS, join_by(JAHR))%>% left_join(RB_YEARLY_NEW_EDS, join_by(JAHR == ERSTERSCHEINUNGSJAHR))%>% left_join(RB_YEARLY_NEW_SUBEDS, join_by(JAHR == ERSCHEINUNGSJAHR))%>% rename("AUSGABEN_P.A." = n.x)%>% rename("TEILAUSGABEN_P.A." = n.y)%>% rename("NEUAUSGABEN_P.A." = n.x.x)%>% rename("NEUE_TEILAUSGABEN_P.A." = n.y.y)%T>% write.csv(., "1_Jährliche_Neu-_und_Wiederherausgaben.csv")%>% #write .csv before pivoting pivot_longer(!JAHR, names_to = "VARIABLE", values_to = "ANZAHL") #plot ABB_1<-ggplot(RB_EDS, aes(x = JAHR, y = ANZAHL, color = VARIABLE)) + scale_colour_grey()+ geom_line() + geom_point(aes(shape = VARIABLE), size = 0.7)+ geom_smooth(method = "loess", span = 0.4, se = FALSE, linetype = "dashed", linewidth = 0.5) + #LOESS span reduced from default 0.75 to 0.4 to account for local fluctuations scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(breaks=seq(0,600, by=50))+ labs(title="Jährliche Neu- und Wiederherausgaben bei RB", subtitle = "mit LOESS-geglätteten Trendkurven")+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5) ) ggsave(filename = "Abbildungen/Abb_1.png", plot = ABB_1, width = 13, height = 10, dpi = 300, units = "cm") #02) calculate number of annual prints (raw) RB_YEARLY_PRINTS<-RB0%>% select(DRUCK_UID, DRUCKMENGE, DRUCKMENGE_BEREINIGT, DRUCKDATUM, JAHR)%>% unique%>% na.omit()%>% group_by(JAHR)%>% summarise(TOTAL=sum(DRUCKMENGE)) #calculate number of annual prints (adjusted) RB_YEARLY_PRINTS_ADJUSTED<-RB0%>% select(DRUCKMENGE_BEREINIGT, DRUCKDATUM, DRUCK_UID, JAHR)%>% unique%>% na.omit()%>% group_by(JAHR)%>% summarise(TOTAL_BEREINIGT = sum(DRUCKMENGE_BEREINIGT)) #merge data and prepare for plotting with ggplot RB_PRINTS<-RB_YEARLY_PRINTS%>% left_join(RB_YEARLY_PRINTS_ADJUSTED, join_by(JAHR))%>% rename("DRUCKE" = TOTAL)%>% rename("DRUCKE_BEREINIGT" = TOTAL_BEREINIGT)%T>% write.csv(., "2_Jährliche_Drucke_roh_und_bereinigt_bei_RB.csv")%>% #export before pivoting pivot_longer(!JAHR, names_to = "VARIABLE", values_to = "DRUCKMENGE") ABB_2<-ggplot(RB_PRINTS, aes(x=JAHR, y=DRUCKMENGE, color = VARIABLE))+ scale_colour_grey()+ geom_line() + geom_point(aes(shape = VARIABLE), size = 0.7)+ geom_smooth(method = "loess", span = 0.4, se = FALSE, linetype = "dashed", linewidth = 0.5) + #LOESS span reduced from default 0.75 to 0.4 to account for local fluctuations scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(breaks=seq(0,120000, by=10000))+ labs(title="Druckmengen von RB über Zeit", subtitle = "mit LOESS-geglätteten Trendkurven")+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5) ) ggsave(filename = "Abbildungen/Abb_2.png", plot = ABB_2, width = 13, height = 10, dpi = 300, units = "cm") #03) calculate percentage of living vs. dead composers, removing NAs (= entries without date) ###adjust percentages! see adjusted script l. 182 (not perfcet, but ggood); also adjust for adjusted prints!! #RB_DEAD<-RB0%>% # select(AUSGABENTITEL, MVDB_ID, KOMPONIST_STERBEDATUM, DRUCK_UID, DRUCKMENGE, DRUCKDATUM, ERSCHEINUNGSJAHR, JAHR)%>% # unique%>% # mutate( # DEAD = ifelse(KOMPONIST_STERBEDATUM=="", "NA", #set "dead" if "Sterbedatum" < current "Jahr" # ifelse(KOMPONIST_STERBEDATUM% # group_by(JAHR, DEAD)%>% # summarise(TOTAL_P=sum(DRUCKMENGE))%>% # filter(!is.na(JAHR))%>% # left_join(RB_YEARLY_PRINTS, by=c("JAHR"))%>% # calculate percentage by matching RB_YEARLY_PRINTS # mutate(ANTEIL=(TOTAL_P/TOTAL*100)) RB_DEAD<-RB0%>% select(AUSGABENTITEL, MVDB_ID, KOMPONIST, KOMBINIERTE_KOMPONISTEN, KOMPONIST_STERBEDATUM, DRUCK_UID, DRUCKMENGE, DRUCKDATUM, ERSCHEINUNGSJAHR, JAHR)%>% unique%>% group_by(KOMBINIERTE_KOMPONISTEN, DRUCK_UID)%>% filter(!(is.na(KOMPONIST) & any(!is.na(KOMPONIST)))) %>% ungroup%>% mutate( STATUS = ifelse(KOMPONIST_STERBEDATUM=="", "NA", #set "dead" if "Sterbedatum" < current "Jahr" ifelse(KOMPONIST_STERBEDATUM% select(-KOMPONIST, -KOMPONIST_STERBEDATUM, -KOMBINIERTE_KOMPONISTEN)%>% unique%>% group_by(JAHR, STATUS)%>% summarise(TOTAL_P=sum(DRUCKMENGE))%>% filter(!is.na(JAHR))%>% left_join(RB_YEARLY_PRINTS, by=c("JAHR"))%>% # calculate percentage by matching RB_YEARLY_PRINTS mutate(ANTEIL=(TOTAL_P/TOTAL*100)) write.csv(RB_DEAD, "3a_Anteile_lebende_vs_verstorbene_Komponist_innen_bei_RB.csv") #plot ABB_3a<-ggplot(RB_DEAD, aes(x=JAHR, y=ANTEIL, color = STATUS))+ scale_colour_grey()+ geom_line()+ geom_point(aes(shape = STATUS), size = 0.7)+ scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(breaks=seq(0,100, by=10))+ labs(title="Anteile lebende vs. verstorbene Komponist*innen", y="ANTEIL in %", color="Status", shape = "Status", subtitle="an Drucken von RB")+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5) ) #labs(title="RB prints, shares of living vs. dead composers", y="Share in %", x="Year", color="Status") ggsave(filename = "Abbildungen/Abb_3a.png", plot = ABB_3a, width = 13, height = 10, dpi = 300, units = "cm") #calculate percentage of living vs. dead composers (adjusted), removing NAs (= entries without date) RB_DEAD_ADJUSTED<-RB0%>% select(AUSGABENTITEL, MVDB_ID, KOMPONIST_STERBEDATUM, DRUCK_UID, DRUCKMENGE_BEREINIGT, DRUCKDATUM, ERSCHEINUNGSJAHR, JAHR)%>% unique%>% mutate( STATUS = ifelse(KOMPONIST_STERBEDATUM=="", "NA", ifelse(KOMPONIST_STERBEDATUM% group_by(JAHR, STATUS)%>% summarise(TOTAL_P=sum(DRUCKMENGE_BEREINIGT))%>% filter(!is.na(JAHR))%>% left_join(RB_YEARLY_PRINTS_ADJUSTED, by=c("JAHR"))%>% #normalize as percentage of total production mutate(ANTEIL=(TOTAL_P/TOTAL_BEREINIGT*100)) write.csv(RB_DEAD_ADJUSTED, "3b_Anteile_lebende_vs._verstorbene_Komponist_innen_bei_RB_bereinigt.csv") #plot ABB_3b<-ggplot(RB_DEAD_ADJUSTED, aes(x=JAHR, y=ANTEIL, color = STATUS))+ scale_colour_grey()+ geom_line()+ geom_point(aes(shape = STATUS), size = 0.7)+ scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(name="Anteil in %", breaks=seq(0,100, by=10))+ labs(title="Anteile lebende vs. verstorbene Komponist*innen", y="ANTEIL in %", color="Status", shape = "Status", subtitle="an Drucken (bereinigt) von RB")+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5) ) ggsave(filename = "Abbildungen/Abb_3b.png", plot = ABB_3b, width = 13, height = 10, dpi = 300, units = "cm") #04) calculate percentage of arrangements ("Bearbeitungen"), removing NAs (= entries without date) RB_ARRANGEMENTS<-RB0%>% select(DRUCK_UID, DRUCKDATUM, DRUCKMENGE, VERLAGSARTIKEL_TYP, JAHR, ERSCHEINUNGSJAHR)%>% unique%>% mutate(VERLAGSARTIKEL_TYP=ifelse(VERLAGSARTIKEL_TYP=="collection blackbox", "collection", ifelse(VERLAGSARTIKEL_TYP=="collection full", "collection", VERLAGSARTIKEL_TYP) ))%>% # merge collection types into one value group_by(JAHR, VERLAGSARTIKEL_TYP)%>% summarise(TOTAL_P=sum(DRUCKMENGE))%>% filter(!is.na(JAHR))%>% filter(VERLAGSARTIKEL_TYP!="")%>% #remove one empty line in 1885, which is a data error left_join(RB_YEARLY_PRINTS, by=c("JAHR"))%>% #normalize as percentage of total production mutate(ANTEIL=(TOTAL_P/TOTAL*100)) write.csv(RB_ARRANGEMENTS, "4a_Anteil_unterschiedlicher_Publikationstypen.csv") #plot ABB_4a<-ggplot(RB_ARRANGEMENTS, aes(x=JAHR, y=ANTEIL, color=VERLAGSARTIKEL_TYP))+ scale_colour_grey()+ geom_line(size = 0.5)+ geom_point(aes(shape = VERLAGSARTIKEL_TYP), size = 0.5)+ scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(name="ANTEIL in %", breaks=seq(0,100, by=10))+ labs(title="Anteil unterschiedlicher Publikationstypen", subtitle="an den Drucken bei RB")+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5) ) ggsave(filename = "Abbildungen/Abb_4a.png", plot = ABB_4a, width = 13, height = 10, dpi = 300, units = "cm") #calculate percentage arrangements ("Bearbeitungen") adjusted, removing NAs (= entries without date) RB_ARRANGEMENTS_ADJUSTED<-RB0%>% select(DRUCK_UID, DRUCKDATUM, DRUCKMENGE_BEREINIGT, VERLAGSARTIKEL_TYP, JAHR, ERSCHEINUNGSJAHR)%>% unique%>% mutate(VERLAGSARTIKEL_TYP=ifelse(VERLAGSARTIKEL_TYP=="collection blackbox", "collection", ifelse(VERLAGSARTIKEL_TYP=="collection full", "collection", VERLAGSARTIKEL_TYP) ))%>% # merge collection types into one value group_by(JAHR, VERLAGSARTIKEL_TYP)%>% summarise(TOTAL_P=sum(DRUCKMENGE_BEREINIGT))%>% filter(!is.na(JAHR))%>% filter(VERLAGSARTIKEL_TYP!="")%>% #remove one empty line in 1885, which is a data error left_join(RB_YEARLY_PRINTS_ADJUSTED, by=c("JAHR"))%>% #normalize as percentage of total production mutate(ANTEIL=(TOTAL_P/TOTAL_BEREINIGT*100)) write.csv(RB_ARRANGEMENTS_ADJUSTED, "4b_Anteil_unterschiedlicher_Publikationstypen.csv") #plot ABB_4b<-ggplot(RB_ARRANGEMENTS_ADJUSTED, aes(x=JAHR, y=ANTEIL, color=VERLAGSARTIKEL_TYP))+ scale_colour_grey()+ geom_line(size = 0.5)+ geom_point(aes(shape = VERLAGSARTIKEL_TYP), size = 0.5)+ scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(name="ANTEIL in %", breaks=seq(0,100, by=10))+ labs(title="Anteil unterschiedlicher Publikationstypen", subtitle="an den Drucken (bereinigt) bei RB")+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5) ) ggsave(filename = "Abbildungen/Abb_4b.png", plot = ABB_4b, width = 13, height = 10, dpi = 300, units = "cm") #05) calculate percentage of Brahms prints, removing NAs (= entries without date = no recorded prints) RB_BRAHMS<-RB0%>% select(AUSGABENTITEL, MVDB_ID, KOMBINIERTE_KOMPONISTEN, DRUCK_UID, DRUCKMENGE, DRUCKDATUM, JAHR)%>% unique%>% mutate(BRAHMS = ifelse(grepl("Brahms", KOMBINIERTE_KOMPONISTEN), "Brahms", "Andere"))%>% group_by(JAHR, BRAHMS)%>% summarise(TOTAL_P=sum(DRUCKMENGE))%>% filter(!is.na(JAHR))%>% left_join(RB_YEARLY_PRINTS, by=c("JAHR"))%>% #normalize as percentage of total production mutate(ANTEIL=(TOTAL_P/TOTAL*100)) write.csv(RB_BRAHMS, "5a_Anteil_von_Brahms-Drucken_RB_roh.csv") #plot ABB_5a<-ggplot(RB_BRAHMS, aes(x=JAHR, y=ANTEIL, color=BRAHMS))+ scale_colour_grey()+ geom_line()+ geom_point(aes(shape = BRAHMS), size = 0.7)+ scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(breaks=seq(0,100, by=10))+ labs(title="Anteil von Brahms-Drucken", y="ANTEIL in %", color="Komponist*in", shape= "Komponist*in", subtitle="an der Gesamtproduktion von RB")+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5) ) ggsave(filename = "Abbildungen/Abb_5a.png", plot = ABB_5a, width = 13, height = 10, dpi = 300, units = "cm") #calculate percentage of Brahms prints (adjusted), removing NAs (= entries without date = no recorded prints) RB_BRAHMS_ADJUSTED<-RB0%>% select(AUSGABENTITEL, MVDB_ID, KOMBINIERTE_KOMPONISTEN, DRUCK_UID, DRUCKMENGE_BEREINIGT, DRUCKDATUM, JAHR)%>% unique%>% mutate( BRAHMS = ifelse(grepl("Brahms", KOMBINIERTE_KOMPONISTEN), "Brahms", "Andere"))%>% group_by(JAHR, BRAHMS)%>% summarise(TOTAL_P=sum(DRUCKMENGE_BEREINIGT))%>% filter(!is.na(JAHR))%>% left_join(RB_YEARLY_PRINTS_ADJUSTED, by=c("JAHR"))%>% #normalize as percentage of total production mutate(ANTEIL=(TOTAL_P/TOTAL_BEREINIGT*100)) write.csv(RB_BRAHMS_ADJUSTED, "5b_Anteil_von_Brahms-Drucken_RB_bereinigt.csv") #plot ABB_5b<-ggplot(RB_BRAHMS_ADJUSTED, aes(x=JAHR, y=ANTEIL, color=BRAHMS))+ scale_colour_grey()+ geom_line()+ geom_point(aes(shape = BRAHMS), size = 0.7)+ scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(breaks=seq(0,100, by=10))+ labs(title="Anteil von Brahms-Drucken", y="ANTEIL in %", color="Komponist*in", shape="Komponist*in", subtitle="an der Gesamtproduktion (bereinigt)")+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5) ) ggsave(filename = "Abbildungen/Abb_5b.png", plot = ABB_5b, width = 13, height = 10, dpi = 300, units = "cm") #06) calculate number of annual prints of two descriptive variables on instrumentation and genre #comparison of annual prints , "vokal" vs. "instrumental" (raw), removing NAs (= entries without prints) RB_PROGRAM_1a<-RB0%>%select(VERLAGSARTIKEL_ID, AUSGABENTITEL, JAHR, DRUCKDATUM, DRUCKMENGE, DRUCK_UID, SUM_KOMB_BESETZUNG_REAL_V.I)%>% unique%>% filter(!is.na(DRUCKMENGE))%>% group_by(JAHR, SUM_KOMB_BESETZUNG_REAL_V.I)%>% summarise(TOTAL=sum(DRUCKMENGE))%>% pivot_wider(names_from = SUM_KOMB_BESETZUNG_REAL_V.I, values_from = TOTAL)%>% rename("VOKAL" = "vokal")%>% rename("INSTRUMENTAL" = "instrumental") #comparison of annual prints "vokal" vs. "instrumental" (adjusted), removing NAs (= entries without prints) RB_PROGRAM_1b<-RB0%>%select(VERLAGSARTIKEL_ID, AUSGABENTITEL, JAHR, DRUCKDATUM, DRUCKMENGE_BEREINIGT, DRUCK_UID, SUM_KOMB_BESETZUNG_REAL_V.I)%>% unique%>% filter(!is.na(DRUCKMENGE_BEREINIGT))%>% group_by(JAHR, SUM_KOMB_BESETZUNG_REAL_V.I)%>% summarise(TOTAL=sum(DRUCKMENGE_BEREINIGT))%>% pivot_wider(names_from = SUM_KOMB_BESETZUNG_REAL_V.I, values_from = TOTAL)%>% rename("VOKAL_BEREINIGT" = "vokal")%>% rename("INSTRUMENTAL_BEREINIGT" = "instrumental")%>% rename("NA_BEREINIGT" = "NA") #merge data and prepare for plotting with ggplot, note: piano arrangements of vocal music are included in "instrumental"! RB_PROGRAM_1<-RB_PROGRAM_1a%>% left_join(RB_PROGRAM_1b, join_by(JAHR))%T>% write.csv(., "6a_Jährliche_Drucke_Vokal_vs_Instrumentalmusik_bei_RB.csv")%>% #export before pivoting pivot_longer(!JAHR, names_to = "VARIABLE", values_to = "DRUCKMENGE") #plot ABB_6a<-ggplot(RB_PROGRAM_1, aes(x = JAHR, y = DRUCKMENGE, color = VARIABLE))+ scale_colour_grey()+ geom_line(size=0.5) + geom_point(aes(shape = VARIABLE), size = 0.5)+ #geom_smooth(method = "loess", span = 0.4, se = FALSE, linetype = "dashed") + labs(title="Vokal- vs. Instrumentalmusik bei RB")+ scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(breaks=seq(0,70000, by=10000))+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5) ) ggsave(filename = "Abbildungen/Abb_6a.png", plot = ABB_6a, width = 13, height = 10, dpi = 300, units = "cm") #comparison of annual prints , "weltlich" vs. "geistlich" (vs. "Orgel") raw, removing NAs (= entries without prints) RB_PROGRAM_2a<-RB0%>%select(VERLAGSARTIKEL_ID, AUSGABENTITEL, JAHR, DRUCKDATUM, DRUCKMENGE, DRUCK_UID, SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH)%>% unique%>% filter(!is.na(DRUCKMENGE))%>% group_by(JAHR, SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH)%>% summarise(TOTAL = sum(DRUCKMENGE))%>% pivot_wider(names_from = SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH, values_from = TOTAL)%>% rename("GEISTLICH" = "geistlich")%>% rename("WELTLICH" = "weltlich")%>% rename("ORGEL" = "Orgel")#%T>% # write.csv(., "6b1 Jährliche Drucke weltliche vs geistliche Musik bei RB.csv")%>% #export before pivoting # pivot_longer(!JAHR, names_to = "VARIABLE", values_to = "DRUCKMENGE") # ggplot(RB_PROGRAM_2a, aes(x = JAHR, y = DRUCKMENGE))+ # geom_line(aes(col=VARIABLE))+ # labs(title="Geistliche vs. weltliche Musik bei RB")+ # scale_x_continuous(breaks=seq(1855, 1920, by=5))+ # scale_y_continuous(breaks=seq(0,70000, by=10000)) #comparison of annual prints , "weltlich" vs. "geistlich" (vs. "Orgel") adjusted, removing NAs (= entries without prints) RB_PROGRAM_2b<-RB0%>%select(VERLAGSARTIKEL_ID, AUSGABENTITEL, JAHR, DRUCKDATUM, DRUCKMENGE_BEREINIGT, DRUCK_UID, SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH)%>% unique%>% filter(!is.na(DRUCKMENGE_BEREINIGT))%>% group_by(JAHR, SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH)%>% summarise(TOTAL = sum(DRUCKMENGE_BEREINIGT))%>% pivot_wider(names_from = SUM_KOMB_GENRE_REAL_GEISTLICH.WELTLICH, values_from = TOTAL)%>% rename("GEISTLICH_BEREINIGT" = "geistlich")%>% rename("WELTLICH_BEREINIGT" = "weltlich")%>% rename("ORGEL_BEREINIGT" = "Orgel")%>% rename("NA_BEREINIGT" = "NA")#%T>% # write.csv(., "6b2 Jährliche Drucke weltliche vs geistliche Musik bei RB.csv")%>% #export before pivoting # pivot_longer(!JAHR, names_to = "VARIABLE", values_to = "DRUCKMENGE") # ggplot(RB_PROGRAM_2b, aes(x = JAHR, y = DRUCKMENGE))+ # geom_line(aes(col=VARIABLE))+ # labs(title="Geistliche vs. weltliche Musik bei RB")+ # scale_x_continuous(breaks=seq(1855, 1920, by=5))+ # scale_y_continuous(breaks=seq(0,70000, by=10000)) #prepare for plotting RB_PROGRAM_2<-RB_PROGRAM_2a%>% left_join(RB_PROGRAM_2b, join_by(JAHR))%T>% write.csv(., "6b_Jährliche_Drucke_weltliche_vs_geistliche_Musik_bei_RB.csv")%>% #export before pivoting pivot_longer(!JAHR, names_to = "VARIABLE", values_to = "DRUCKMENGE") #plot ABB_6b<-ggplot(RB_PROGRAM_2, aes(x = JAHR, y = DRUCKMENGE, color = VARIABLE))+ scale_colour_grey()+ geom_line(size=0.3)+ geom_point(aes(shape = VARIABLE), size = 0.4)+ labs(title="Geistliche vs. weltliche Musik bei RB")+ scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(breaks=seq(0,70000, by=10000))+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5) ) ggsave(filename = "Abbildungen/Abb_6b.png", plot = ABB_6b, width = 13, height = 10, dpi = 300, units = "cm") #07) = Map of Networks #07) show composers with geographic area codes other than Germany, Austria, Switzerland as annotated in GND data RB_KOMP_INTERNATIONAL<-RB0%>% select( KOMBINIERTE_KOMPONISTEN, KOMPONIST_GEOGRAPHIC_AREA_CODE, VERLAGSARTIKEL_ID )%>% unique%>% filter(!grepl("XA-DE", KOMPONIST_GEOGRAPHIC_AREA_CODE))%>% filter(!grepl("XA-AT", KOMPONIST_GEOGRAPHIC_AREA_CODE))%>% filter(!grepl("XA-CH", KOMPONIST_GEOGRAPHIC_AREA_CODE))%>% filter(KOMPONIST_GEOGRAPHIC_AREA_CODE!="NA")%>% filter(KOMPONIST_GEOGRAPHIC_AREA_CODE!="")%>% filter(KOMPONIST_GEOGRAPHIC_AREA_CODE!="ZZ")%>% group_by(KOMBINIERTE_KOMPONISTEN, KOMPONIST_GEOGRAPHIC_AREA_CODE)%>% tally() write.csv(RB_KOMP_INTERNATIONAL, "7a_Komponist_innen_außerhalb_deutschsprachiger_Länder_bei_RB_nach_GND_Area_Codes.csv") #show composers total RB_KOMP<-RB0%>% select(KOMBINIERTE_KOMPONISTEN)%>% unique write.csv(RB_KOMP, "7b_Komponist_innen_im_Programm_von_RB.csv") #Subtract 8 cases which are (1) doubles, or (2) NAs --> 424 - 8 = 416 different composers #08) calculate print quantities for different translations of Brahms' Requiem op. 45 (raw), as percentage of total production RB_TRANSLATIONS<-RB0%>% select(VERLAGSARTIKEL_ID, TEIL, VERLAGSARTIKEL_ID, AUSGABENTITEL, WERK_GND_ID, DRUCK_UID, DRUCKDATUM, DRUCKMENGE, JAHR)%>% unique%>% filter(WERK_GND_ID=="300024975")%>% mutate( SPRACHE=ifelse(grepl("Engl", AUSGABENTITEL), "Englische AG", ifelse(grepl("engl", AUSGABENTITEL), "Englische AG", ifelse(grepl("Eng", TEIL), "Englische AG", "Deutsche AG"))))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_00822", "Französische AG", SPRACHE))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_00823", "Französische AG", SPRACHE))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_02247", "Italienische AG", SPRACHE))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_02259", "Italienische AG", SPRACHE))%>% mutate(ENGLISCH = ifelse(VERLAGSARTIKEL_ID=="RB_02544", "Englische AG", SPRACHE))%>% select(!WERK_GND_ID)%>% filter(SPRACHE != "Deutsche AG")%>% unique%>% group_by(JAHR, SPRACHE)%>% summarise(TOTAL_P=sum(DRUCKMENGE))%>% left_join(RB_YEARLY_PRINTS, by=c("JAHR"))%>% #normalize as percentage of total production mutate(ANTEIL=(TOTAL_P/TOTAL*100)) write.csv(RB_TRANSLATIONS, "8a_Druckmengen_der_Übersetzungen_von_Brahms_Requiem.csv") #plot ABB_8a<-ggplot(RB_TRANSLATIONS, aes(x=JAHR, y=ANTEIL, color = SPRACHE))+ scale_colour_grey()+ geom_line()+ geom_point(aes(shape = SPRACHE), size = 0.7)+ scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(name="Anteil in %", breaks=seq(0,100, by=10))+ labs(title="Anteil der Produktion fremdsprachiger Ausgaben \nvon Brahms' Deutschem Requiem", subtitle="an der Gesamproduktion von RB")+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5)) ggsave(filename = "Abbildungen/Abb_8a.png", plot = ABB_8a, width = 13, height = 10, dpi = 300, units = "cm") #calculate print quantities for different translations of Brahms' Requiem op. 45 (adjusted), as percentage of total production RB_TRANSLATIONS_ADJUSTED<-RB0%>% select(VERLAGSARTIKEL_ID, TEIL, VERLAGSARTIKEL_ID, AUSGABENTITEL, WERK_GND_ID, DRUCK_UID, DRUCKDATUM, DRUCKMENGE_BEREINIGT, JAHR)%>% unique%>% filter(WERK_GND_ID=="300024975")%>% mutate( SPRACHE=ifelse(grepl("Engl", AUSGABENTITEL), "Englische AG", ifelse(grepl("engl", AUSGABENTITEL), "Englische AG", ifelse(grepl("Eng", TEIL), "Englische AG", "Deutsche AG"))))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_00822", "Französische AG", SPRACHE))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_00823", "Französische AG", SPRACHE))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_02247", "Italienische AG", SPRACHE))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_02259", "Italienische AG", SPRACHE))%>% mutate(ENGLISCH = ifelse(VERLAGSARTIKEL_ID=="RB_02544", "Englische AG", SPRACHE))%>% select(!WERK_GND_ID)%>% filter(SPRACHE != "Deutsche AG")%>% unique%>% group_by(JAHR, SPRACHE)%>% summarise(TOTAL_P=sum(DRUCKMENGE_BEREINIGT))%>% left_join(RB_YEARLY_PRINTS_ADJUSTED, by=c("JAHR"))%>% #normalize as percentage of total production mutate(ANTEIL=(TOTAL_P/TOTAL_BEREINIGT*100)) write.csv(RB_TRANSLATIONS_ADJUSTED, "8b_Druckmengen_der_Übersetzungen_von_Brahms_Requiem.csv") #plot ABB_8b<-ggplot(RB_TRANSLATIONS_ADJUSTED, aes(x=JAHR, y=ANTEIL, color = SPRACHE))+ scale_colour_grey()+ geom_line()+ geom_point(aes(shape = SPRACHE), size = 0.7)+ scale_x_continuous(breaks=seq(1855, 1920, by=5))+ scale_y_continuous(name="Anteil in %", breaks=seq(0,100, by=10))+ labs(title="Anteil der Produktion fremdsprachiger Ausgaben \nvon Brahms' Deutschem Requiem", subtitle="an der Gesamproduktion von RB (bereinigt)")+ theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5), legend.text = element_text(size=5)) ggsave(filename = "Abbildungen/Abb_8b.png", plot = ABB_8b, width = 13, height = 10, dpi = 300, units = "cm") #inspect individual editions RB_TRANSLATIONS_INDIVIDUAL<-RB0%>% select(VERLAGSARTIKEL_ID, TEIL, VERLAGSARTIKEL_ID, MVDB_ID, AUSGABENTITEL, WERK_GND_ID, DRUCK_UID, DRUCKDATUM, DRUCKMENGE, JAHR)%>% unique%>% filter(WERK_GND_ID=="300024975")%>% mutate( SPRACHE=ifelse(grepl("Engl", AUSGABENTITEL), "Englische AG", ifelse(grepl("engl", AUSGABENTITEL), "Englische AG", ifelse(grepl("Eng", TEIL), "Englische AG", "Deutsche AG"))))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_00822", "Französische AG", SPRACHE))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_00823", "Französische AG", SPRACHE))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_02247", "Italienische AG", SPRACHE))%>% mutate(SPRACHE = ifelse(VERLAGSARTIKEL_ID=="RB_02259", "Italienische AG", SPRACHE))%>% mutate(ENGLISCH = ifelse(VERLAGSARTIKEL_ID=="RB_02544", "Englische AG", SPRACHE))%>% select(!WERK_GND_ID)%>% filter(SPRACHE != "Deutsche AG")%>% unique write.csv(RB_TRANSLATIONS_INDIVIDUAL, "8c_RB_Übersetzungen_Liste.csv") #09) investigate year 1910 RB_1910<-RB0%>%select(VERLAGSARTIKEL_ID, AUSGABENTITEL, KOMBINIERTE_KOMPONISTEN, ERSCHEINUNGSJAHR)%>% unique%>% filter(ERSCHEINUNGSJAHR=="1910")%>% filter(grepl("Brahms", KOMBINIERTE_KOMPONISTEN)) write.csv(RB_1910, "9_Erschienene_Übersetzungen_von_Brahms_1910.csv") #10) investigate the different types of "Volkslieder" in RBs program RB_VOLK<-RB0%>%select(VERLAGSARTIKEL_ID, AUSGABENTITEL, ERSCHEINUNGSJAHR, DRUCKDATUM, DRUCKMENGE, DRUCK_UID, KOMBINIERTE_KOMPONISTEN)%>% unique%>% group_by(VERLAGSARTIKEL_ID)%>% mutate(ERSTERSCHEINUNGSJAHR=min(ERSCHEINUNGSJAHR))%>% ungroup()%>% select(VERLAGSARTIKEL_ID, AUSGABENTITEL, KOMBINIERTE_KOMPONISTEN, ERSTERSCHEINUNGSJAHR, DRUCK_UID, DRUCKMENGE)%>% filter(grepl("Volk|volk|Folk|folk", AUSGABENTITEL))%>% filter(!grepl("Volkmann", AUSGABENTITEL))%>% #remove false positives filter(!grepl("Volkland", AUSGABENTITEL))%>% #remove false positives group_by(VERLAGSARTIKEL_ID, AUSGABENTITEL, KOMBINIERTE_KOMPONISTEN, ERSTERSCHEINUNGSJAHR)%>% summarise(TOTAL=sum(DRUCKMENGE)) write.csv(RB_VOLK, "10_Volksliederausgaben_bei_RB.csv") #hand counted: 48 editions with spelling variants "Volk"/"Folk" #davon: 31 nondescript/deutsch incl. Tirol, Böhmen, 7 schottisch, englisch, irisch, 2 französisch, 1 each schwedisch, italienisch, litauisch, polnisch, 4: english translations #11) show prints of Schulz-Beuthens op. 28 RB_SCHULZ<-RB0%>% select(VERLAGSARTIKEL_ID, MVDB_ID, AUSGABENTITEL, KOMBINIERTE_KOMPONISTEN, DRUCKDATUM, DRUCKMENGE, DRUCK_UID)%>% unique%>% filter(grepl("Neger", AUSGABENTITEL)) write.csv(RB_SCHULZ, "11_Produktionsstatistik_Schulz-Beuthen_op.28.csv") #12) show editions and prints of Leopoldo Miguéz at RB RB_MIGUEZ<-RB0%>% select(VERLAGSARTIKEL_ID, MVDB_ID, AUSGABENTITEL, KOMBINIERTE_KOMPONISTEN, DRUCKDATUM, DRUCKMENGE, DRUCKMENGE_BEREINIGT, DRUCK_UID )%>% unique%>% filter(grepl("Miguez", KOMBINIERTE_KOMPONISTEN)) write.csv(RB_MIGUEZ, "12_Ausgaben_von_Miguez_bei_RB_mit_Druckmengen.csv")