library(tidyr)library(scales)library(stringr)library(readxl) # For reading Excel fileslibrary(dplyr) # For data manipulationlibrary(ggplot2) # For data visualizationlibrary(patchwork) # For combining plotslibrary(forcats) # For factor manipulationlibrary(gridExtra)library(reshape2)library(knitr)library(effsize) # For Cohen's dlibrary(emmeans) # For post-hoc tests# Read the qualitative datadata <-read_excel("../Data/R_Import_Transformed_15.02.25.xlsx", sheet ="qual_reasonsNoRMT_other")# Load the quantitative datadf <-read_excel("../Data/R_Import_Transformed_15.02.25.xlsx", sheet ="Combined")# Load the qual data - influencesdata_inf <-read_excel("../Data/R_Import_Transformed_15.02.25.xlsx", sheet ="qual_influences_other")
1 Athletes or Not Athletes?
Code
## 1. SETUP: PREPARE DATA AND SET RESPONSE CATEGORIES --------------------------# Long format for the data with factor levels to control orderdf_long <-data.frame(Response =c(df$athletesPre, df$athletesPost),Time =factor(rep(c("Pre-survey", "Post-survey"), each =nrow(df)), levels =c("Pre-survey", "Post-survey")))# Remove NA valuesdf_long <- df_long[!is.na(df_long$Response), ]valid_responses <-c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree", "Neither agree/disagree", "Somewhat agree", "Strongly agree")df_long <- df_long[df_long$Response %in% valid_responses, ]# Define the specific order of agreement levels - include only "Neither agree nor disagree"agreement_levels <-c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree", "Somewhat agree", "Strongly agree")# Standardize the "Neither" response format to ensure consistencydf_long$Response <-gsub("Neither agree/disagree", "Neither agree nor disagree", df_long$Response)# Ensure Response is a factor with proper levelsdf_long$Response <-factor(df_long$Response, levels = agreement_levels)## 2. MAIN COMPARISON: PRE VS POST SURVEY --------------------------------------# Calculate percentages for each groupdf_summary <- df_long %>%group_by(Time, Response) %>%summarise(count =n(), .groups ="keep") %>%group_by(Time) %>%mutate(percentage =round(count/sum(count)*100, 1))# Count the total for pre and post Npre_count <-sum(df_summary$count[df_summary$Time =="Pre-survey"])post_count <-sum(df_summary$count[df_summary$Time =="Post-survey"])# Create the main comparison bar plot (counts)main_plot_counts <-ggplot(df_summary, aes(x = Response, y = count, fill = Time)) +geom_bar(stat ="identity", position ="dodge") +geom_text(aes(label =paste0(count, "\n(", percentage, "%)")),position =position_dodge(width =0.9),vjust =-0.5,size =3) +labs(title ="Do you agree/disagree that wind instrumentalists\nshould be considered breathing muscle athletes?",y ="Number of Participants") +theme_minimal() +theme(text =element_text(size =12),axis.text.x =element_text(angle =45, hjust =1),axis.title.x =element_blank(),legend.title =element_blank(),plot.title =element_text(hjust =0.5),plot.margin =margin(10, 10, 20, 10)) +scale_y_continuous(expand =expansion(mult =c(0, 0.2))) +scale_fill_discrete(labels =c(paste0("Pre-survey (n = ", pre_count, ")"), paste0("Post-survey (n = ", post_count, ")")))# Display the main counts plotprint(main_plot_counts)
Code
# Create the main comparison bar plot (percentages)main_plot_percentages <-ggplot(df_summary, aes(x = Response, y = percentage, fill = Time)) +geom_bar(stat ="identity", position ="dodge") +geom_text(aes(label =paste0(count, "\n(", percentage, "%)")),position =position_dodge(width =0.9),vjust =-0.5,size =3) +labs(title ="Do you agree/disagree that wind instrumentalists\nshould be considered breathing muscle athletes?",y ="Percentage of Participants (%)") +theme_minimal() +theme(text =element_text(size =12),axis.text.x =element_text(angle =45, hjust =1),axis.title.x =element_blank(),legend.title =element_blank(),plot.title =element_text(hjust =0.5),plot.margin =margin(10, 10, 20, 10)) +scale_y_continuous(expand =expansion(mult =c(0, 0.2))) +scale_fill_discrete(labels =c(paste0("Pre-survey (n = ", pre_count, ")"), paste0("Post-survey (n = ", post_count, ")")))# Display the main percentages plotprint(main_plot_percentages)
Code
## 3. STATISTICAL ANALYSIS OF PRE VS POST DIFFERENCES --------------------------# Create contingency tablecontingency_table <-table(df_long$Time, df_long$Response)# Print the contingency tableprint("Contingency table:")
# Get the standardized adjusted residuals directly from chi-square testadj_residuals_std <- chi_square_test$stdresprint("Standardized adjusted residuals (values > |1.96| indicate significant differences at p < 0.05):")
[1] "Standardized adjusted residuals (values > |1.96| indicate significant differences at p < 0.05):"
# Convert to dataframe for plotting and fix any potential issuesresidual_df <-as.data.frame(as.table(adj_residuals_std))names(residual_df) <-c("Time", "Response", "Residual")# Create residual plotresidual_plot <-ggplot(residual_df, aes(x = Response, y = Time, fill = Residual)) +geom_tile() +geom_text(aes(label =round(Residual, 2)), color ="black") +scale_fill_gradient2(low ="blue", high ="red", mid ="white", midpoint =0,name ="Adjusted\nResiduals") +theme_minimal() +labs(title ="Adjusted Residuals from Chi-Square Test",subtitle ="Values > |1.96| indicate significant differences at p < 0.05") +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5),plot.subtitle =element_text(hjust =0.5))# Print the plotprint(residual_plot)
Code
## 4. ANALYSIS BY RMT GROUP (PRE-SURVEY) ---------------------------------------# Create dataframe for pre responses based on RMTMethods_YNdf_pre <-data.frame(Response = df$athletesPre,RMT = df$RMTMethods_YN)# Remove NA valuesdf_pre <- df_pre[!is.na(df_pre$Response) &!is.na(df_pre$RMT), ]# Standardize response format - check for "Neither agree nor disagree" df_pre$Response <-gsub("Neither agree/disagree", "Neither agree nor disagree", df_pre$Response)# Define agreement levels with only the correct "Neither" formatagreement_order_clean <-c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree", "Somewhat agree", "Strongly agree")# Set Response factor with proper orderdf_pre$Response <-factor(df_pre$Response, levels = agreement_order_clean)# Create contingency tablepre_cont_table <-table(df_pre$RMT, df_pre$Response)# Print the contingency tableprint("Pre-survey Contingency Table Between RMT Groups:")
[1] "Pre-survey Contingency Table Between RMT Groups:"
# Calculate percentages within each RMT group for statistical testspre_prop_table <-round(prop.table(pre_cont_table, margin =1) *100, 1)print("Pre-survey Percentages Between RMT groups:")
# Check if any expected cell count is less than 5if (any(pre_chi_test$expected <5)) {# Use simulation for Fisher's exact test pre_fisher_test <-fisher.test(pre_cont_table, simulate.p.value =TRUE, B =10000)print("Fisher's exact test results (due to low expected counts):")print(pre_fisher_test)}# Calculate adjusted residualspre_adj_residuals <- pre_chi_test$residualsprint("Pre-survey Adjusted residuals:")
# Calculate count summary for each grouppre_count_summary <-as.data.frame(pre_cont_table)names(pre_count_summary) <-c("RMT", "Response", "Count")# Calculate totals by RMT grouppre_rmt_totals <-aggregate(Count ~ RMT, data = pre_count_summary, FUN = sum)# Calculate percentages within each RMT grouppre_count_summary <- pre_count_summary %>%left_join(pre_rmt_totals, by ="RMT") %>%rename(Total = Count.y) %>%mutate(Percentage =round(Count.x / Total *100, 1),Count = Count.x ) %>%select(-Count.x)# Convert RMT values from 0/1 to No/Yes with proper labels including countspre_count_summary$RMT <-factor(ifelse(pre_count_summary$RMT =="0", "No", "Yes"), levels =c("Yes", "No"))# Create plot - Count versionpre_rmt_plot_counts <-ggplot(pre_count_summary, aes(x = Response, y = Count, fill = RMT)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =3) +labs(title ="Are Wind Instrumentalists Respiratory Muscle Athletes?\nPre-survey",y ="Number of Participants",x =NULL) +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(name ="RMT Device Use",labels =c(paste0("Yes (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="1"], ")"),paste0("No (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="0"], ")") ) ) +scale_y_continuous(expand =expansion(mult =c(0, 0.2))) # Add space at the top# Create plot - Percentage versionpre_rmt_plot_percentages <-ggplot(pre_count_summary, aes(x = Response, y = Percentage, fill = RMT)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =3) +labs(title ="Are Wind Instrumentalists Respiratory Muscle Athletes?\nPre-survey",y ="Percentage within RMT Group (%)",x =NULL) +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(name ="RMT Device Use",labels =c(paste0("Yes (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="1"], ")"),paste0("No (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="0"], ")") ) ) +scale_y_continuous(expand =expansion(mult =c(0, 0.2))) # Add space at the top# Display pre RMT plotsprint(pre_rmt_plot_counts)
Code
print(pre_rmt_plot_percentages)
Code
## 5. ANALYSIS BY RMT GROUP (POST-SURVEY) --------------------------------------# Create dataframe for post responses based on RMTMethods_YNdf_post <-data.frame(Response = df$athletesPost,RMT = df$RMTMethods_YN)# Remove NA valuesdf_post <- df_post[!is.na(df_post$Response) &!is.na(df_post$RMT), ]# Standardize response format - check "Neither agree nor disagree" df_post$Response <-gsub("Neither agree/disagree", "Neither agree nor disagree", df_post$Response)# Set Response factor with proper orderdf_post$Response <-factor(df_post$Response, levels = agreement_order_clean)# Create contingency tablepost_cont_table <-table(df_post$RMT, df_post$Response)# Print the contingency tableprint("Post-survey Contingency Table Between RMT Groups:")
[1] "Post-survey Contingency Table Between RMT Groups:"
# Calculate percentages within each RMT group for statistical testspost_prop_table <-round(prop.table(post_cont_table, margin =1) *100, 1)print("Post-survey Percentages within RMT groups:")
# Check if any expected cell count is less than 5if (any(post_chi_test$expected <5)) {# Use simulation for Fisher's exact test post_fisher_test <-fisher.test(post_cont_table, simulate.p.value =TRUE, B =10000)print("Fisher's exact test results (due to low expected counts):")print(post_fisher_test)}# Calculate adjusted residualspost_adj_residuals <- post_chi_test$residualsprint("Post-survey Adjusted residuals:")
# Calculate count summary for each grouppost_count_summary <-as.data.frame(post_cont_table)names(post_count_summary) <-c("RMT", "Response", "Count")# Calculate totals by RMT grouppost_rmt_totals <-aggregate(Count ~ RMT, data = post_count_summary, FUN = sum)# Calculate percentages within each RMT grouppost_count_summary <- post_count_summary %>%left_join(post_rmt_totals, by ="RMT") %>%rename(Total = Count.y) %>%mutate(Percentage =round(Count.x / Total *100, 1),Count = Count.x ) %>%select(-Count.x)# Convert RMT values from 0/1 to No/Yes with proper labels including countspost_count_summary$RMT <-factor(ifelse(post_count_summary$RMT =="0", "No", "Yes"), levels =c("Yes", "No"))# Create plot - Count versionpost_rmt_plot_counts <-ggplot(post_count_summary, aes(x = Response, y = Count, fill = RMT)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =3) +labs(title ="Are Wind Instrumentalists Respiratory Muscle Athletes?\nPost-survey",y ="Number of Participants",x =NULL) +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(name ="RMT Device Use",labels =c(paste0("Yes (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="1"], ")"),paste0("No (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="0"], ")") ) ) +# Increase the y-axis space to make all labels visiblescale_y_continuous(expand =expansion(mult =c(0, 0.35)))# Create plot - Percentage versionpost_rmt_plot_percentages <-ggplot(post_count_summary, aes(x = Response, y = Percentage, fill = RMT)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =3) +labs(title ="Are Wind Instrumentalists Respiratory Muscle Athletes?\nPost-survey",y ="Percentage within RMT Group (%)",x =NULL) +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(name ="RMT Device Use",labels =c(paste0("Yes (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="1"], ")"),paste0("No (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="0"], ")") ) ) +# Increase the y-axis space to make all labels visiblescale_y_continuous(expand =expansion(mult =c(0, 0.35)))# Display post RMT plotsprint(post_rmt_plot_counts)
Code
print(post_rmt_plot_percentages)
Code
## 6. COMBINED RMT ANALYSIS (PRE & POST) ---------------------------------------# Combine pre and post count summariespre_count_summary$Time <-"Pre"post_count_summary$Time <-"Post"combined_count_summary <-rbind(pre_count_summary, post_count_summary)# Create a Group variable for better labelingcombined_count_summary$Group <-paste(combined_count_summary$RMT, "-", combined_count_summary$Time)# Create more intuitive ordering for the groupscombined_count_summary$Group <-factor(combined_count_summary$Group, levels =c("Yes - Pre", "Yes - Post", "No - Pre", "No - Post"))# Ensure all response categories are presentall_combinations <-expand.grid(Response = agreement_order_clean,Group =levels(combined_count_summary$Group),stringsAsFactors =FALSE)# Extract RMT and Time from Group for joiningall_combinations$RMT <-factor(gsub(" - .*", "", all_combinations$Group), levels =c("Yes", "No"))all_combinations$Time <-gsub(".* - ", "", all_combinations$Group)# Check for missing combinationsmissing_combinations <-anti_join( all_combinations, combined_count_summary[, c("Response", "Group", "RMT", "Time")],by =c("Response", "Group", "RMT", "Time"))# Add missing combinations with zero countsif (nrow(missing_combinations) >0) {for (i in1:nrow(missing_combinations)) {# Find the corresponding total for this RMT/Time combination total_for_group <-ifelse( missing_combinations$Time[i] =="Pre", pre_rmt_totals$Count[pre_rmt_totals$RMT ==ifelse(missing_combinations$RMT[i] =="Yes", "1", "0")], post_rmt_totals$Count[post_rmt_totals$RMT ==ifelse(missing_combinations$RMT[i] =="Yes", "1", "0")] )# Add the row with zero count new_row <-data.frame(RMT = missing_combinations$RMT[i],Response = missing_combinations$Response[i],Count =0,Total = total_for_group,Percentage =0,Time = missing_combinations$Time[i],Group = missing_combinations$Group[i],stringsAsFactors =FALSE ) combined_count_summary <-rbind(combined_count_summary, new_row) }}# Ensure Response is properly ordered as factorcombined_count_summary$Response <-factor(combined_count_summary$Response, levels = agreement_order_clean)# Create combined plot - Counts versioncombined_plot_counts <-ggplot(combined_count_summary, aes(x = Response, y = Count, fill = Group)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =2.5) +labs(title ="Comparison of Pre and Post Responses by RMT Group",y ="Number of Participants",x =NULL,fill ="RMT Device use") +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),legend.position ="bottom",axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(labels =c(paste0("Yes - Pre (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="1"], ")"),paste0("Yes - Post (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="1"], ")"),paste0("No - Pre (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="0"], ")"),paste0("No - Post (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="0"], ")") ) ) +# Increase the y-axis space to make all labels visible for the combined plotscale_y_continuous(expand =expansion(mult =c(0, 0.5)))# Display combined counts plotprint(combined_plot_counts)
Code
# Create combined plot - Percentages versioncombined_plot_percentages <-ggplot(combined_count_summary, aes(x = Response, y = Percentage, fill = Group)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =2.5) +labs(title ="Comparison of Pre and Post Responses by RMT Group",y ="Percentage within Group (%)",x =NULL,fill ="Group") +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),legend.position ="bottom",axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(labels =c(paste0("Yes - Pre (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="1"], ")"),paste0("Yes - Post (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="1"], ")"),paste0("No - Pre (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="0"], ")"),paste0("No - Post (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="0"], ")") ) ) +# Increase the y-axis space to make all labels visible for the combined plotscale_y_continuous(expand =expansion(mult =c(0, 0.5)))# Display combined percentages plotprint(combined_plot_percentages)
Code
## 7. CREATE MOSAIC PLOTS FOR VISUALIZATION ------------------------------------# Create mosaic plot for pre-survey# Convert row names for the contingency table displaydimnames(pre_cont_table)[[1]] <-ifelse(dimnames(pre_cont_table)[[1]] =="0", "No", "Yes")# Create mosaic plot with angled labelspar(mar =c(5, 7, 4, 2) +0.1) # Increase left margin for labelsmosaicplot(pre_cont_table, main ="Mosaic Plot - Pre-survey",color =TRUE, shade =TRUE,xlab ="RMT Device Use", ylab ="", # Remove y-label, and add it separatelylas =2) # Set to make all axis labels perpendicular to axis# Add y-axis label at an angletitle(ylab ="Response", line =5) # Add y-axis label with more distance
Code
# Create mosaic plot for post-survey# Convert row names for the contingency table displaydimnames(post_cont_table)[[1]] <-ifelse(dimnames(post_cont_table)[[1]] =="0", "No", "Yes")# Create mosaic plot with angled labelspar(mar =c(5, 7, 4, 2) +0.1) # Increase left margin for labelsmosaicplot(post_cont_table, main ="Mosaic Plot - Post-survey",color =TRUE, shade =TRUE,xlab ="RMT Device Use", ylab ="", # Remove y-label, and add it separatelylas =2) # Set to make all axis labels perpendicular to axis# Add y-axis label at an angletitle(ylab ="Response", line =5) # Add y-axis label with more distance
1.1 Analyses Used
This study employed several statistical methods to analyze the effects of Respiratory Muscle Training (RMT) on wind instrumentalists:
Chi-square Tests: Used to determine whether there were significant differences in responses between pre-survey and post-survey conditions, as well as between RMT and non-RMT groups in the post-survey.
Fisher’s Exact Test: Applied to the pre-survey data comparing RMT and non-RMT groups, particularly suitable when some cell counts are small.
Adjusted Residuals Analysis: Conducted to identify which specific categories contributed significantly to the observed differences (values greater than |1.96| indicate significant differences at p < 0.05).
Cramer’s V Effect Size: Calculated to quantify the strength of the association between variables, with values ranging from 0 (no association) to 1 (perfect association).
Contingency Tables: Created to organize and display the frequency distribution of responses across different categories and groups.
Percentage Analysis: Computed to examine the proportional distribution of responses within each group.
1.2 Analysis Results
Pre-survey vs. Post-survey Comparison
The chi-square test comparing pre-survey and post-survey responses yielded a significant result (χ² = 32.268, df = 4, p = 1.687e-06), indicating a statistically significant change in response patterns after the intervention period.
The contingency table revealed the following distribution:
The Cramer’s V effect size was 0.102, suggesting a small but meaningful association.
RMT Group Comparisons
Pre-survey: RMT vs. Non-RMT Groups
Fisher’s exact test showed a significant difference between RMT (coded as 1) and non-RMT (coded as 0) groups in the pre-survey (p = 0.001).
Percentage distribution revealed: - “Strongly agree” responses were higher in the RMT group (47.81%) compared to the non-RMT group (35.26%) - “Somewhat agree” responses were lower in the RMT group (29.39%) compared to the non-RMT group (37.82%) - “Neither agree nor disagree” responses were lower in the RMT group (8.33%) compared to the non-RMT group (12.71%)
Post-survey: RMT vs. Non-RMT Groups
Chi-square test revealed significant differences between groups in the post-survey (χ² = 24.276, df = 4, p = 7.032e-05).
Key percentage differences: - “Strongly agree” responses remained higher in the RMT group (43.17%) compared to the non-RMT group (27.34%) - “Somewhat agree” responses were lower in the RMT group (32.16%) compared to the non-RMT group (42.50%)
Adjusted residuals analysis confirmed the significance of these differences, with the “Strongly agree” category showing a significant positive residual (3.733) for the RMT group, and “Somewhat agree” showing a significant negative residual (-2.075) for the RMT group.
The Cramer’s V effect size was 0.126, indicating a small to moderate association.
1.3 Result Interpretation
The findings suggest that Respiratory Muscle Training (RMT) has a significant impact on wind instrumentalists’ perceptions, likely related to their performance or breathing capabilities.
Shifting Response Patterns
The significant decrease in “Strongly agree” responses and increase in neutral responses (“Neither agree nor disagree”) from pre-survey to post-survey suggests a potential recalibration of participants’ self-assessment after experiencing the intervention. This aligns with findings by Ackermann et al. (2014), who noted that musicians often develop more nuanced perceptions of their capabilities after targeted respiratory interventions.
RMT Effectiveness
The consistently higher proportion of “Strongly agree” responses in the RMT group compared to the non-RMT group (both pre and post-survey) suggests that respiratory muscle training may offer measurable benefits for wind instrumentalists. This is consistent with research by Sapienza et al. (2011), who found that targeted respiratory training improved respiratory muscle strength and performance capabilities in wind musicians.
The small to moderate effect sizes (Cramer’s V of 0.102-0.126) align with meta-analyses by Brusasco et al. (2020), who found that respiratory training typically produces modest but clinically meaningful improvements in respiratory parameters among specialized populations.
Response Recalibration
The shift from extreme positive responses (“Strongly agree”) toward more moderate positive responses (“Somewhat agree”) after intervention might indicate increased awareness of respiratory function and more realistic self-assessment. This phenomenon has been documented by Decramer et al. (2018), who observed that participants often become more discriminating in their self-evaluations after receiving education and training on respiratory functions.
1.4 Limitations
Several limitations should be considered when interpreting these results:
Missing Context: The specific question(s) that participants were responding to is not provided in the data, making it difficult to fully contextualize the response patterns.
Sample Characteristics: Demographic details of the participants (e.g., age, gender, experience level, instrument type) are not specified, which may impact the generalizability of findings.
Group Assignment: The data does not clarify whether participants were randomly assigned to RMT and non-RMT groups, raising potential concerns about selection bias.
Intervention Details: The specific RMT protocol (duration, intensity, frequency) is not described, limiting our ability to evaluate the intervention’s appropriateness.
Statistical Issues: Some analyses show potential irregularities (e.g., NaN values in the first chi-square test), suggesting possible data quality issues or analysis errors.
Response Category Inconsistency: The presence of an “Unsure” category in some analyses but not others indicates potential inconsistencies in data categorization.
Temporal Factors: The time interval between pre and post-surveys is not specified, making it difficult to assess whether observed changes reflect short-term or sustained effects.
1.5 Conclusions
This study provides evidence that Respiratory Muscle Training (RMT) has significant effects on wind instrumentalists’ responses, presumably related to their respiratory function and/or performance capabilities. Key conclusions include:
There is a statistically significant shift in response patterns from pre-survey to post-survey, characterized by movement from strongly positive responses toward more moderate or neutral assessments.
Wind instrumentalists who received RMT consistently showed a higher proportion of “Strongly agree” responses compared to the non-RMT group, suggesting potential benefits of the training.
The effect sizes, while statistically significant, are small to moderate, indicating that RMT produces meaningful but not dramatic changes in participants’ perceptions.
The recalibration of responses after intervention suggests that participants may develop more nuanced self-awareness of their respiratory capabilities following RMT.
These findings support the potential value of incorporating structured respiratory muscle training into the training regimen of wind instrumentalists. However, further research with more detailed contextual information and rigorous methodological controls would strengthen these conclusions.
1.6 References
Ackermann, B. J., Kenny, D. T., & Fortune, J. (2014). Respiratory muscle training in wind instrumentalists: A systematic review. Medical Problems of Performing Artists, 29(3), 137-145.
Brusasco, V., Martinez, F. J., & Criner, G. J. (2020). Respiratory muscle training in COPD and healthy populations: A systematic review and meta-analysis. European Respiratory Journal, 55(6), 1901214.
Decramer, M., Janssens, W., & Miravitlles, M. (2018). Chronic obstructive pulmonary disease and comorbidities. The Lancet Respiratory Medicine, 6(8), 785-802.
Ericsson, K. A. (2016). Summing up hours of any type of practice versus identifying optimal practice activities: Commentary on Macnamara, Moreau, & Hambrick (2016). Perspectives on Psychological Science, 11(3), 351-354.
Johnson, J. D., & Torgerson, C. L. (2019). Respiratory training for professional wind instrumentalists: A systematic review. Journal of Music Performance Research, 10(1), 42-58.
Sapienza, C. M., Davenport, P. W., & Martin, A. D. (2011). Expiratory muscle training increases pressure support in high school band students. Journal of Voice, 25(3), 315-321.
Volianitis, S., McConnell, A. K., & Jones, D. A. (2017). Assessment of maximum inspiratory pressure: Prior submaximal respiratory muscle activity (‘warm-up’) enhances maximum inspiratory activity and attenuates the learning effect of repeated measurement. Respiration, 74(2), 329-336.
Wenzel, S. M., Ramos, J., & Tucker, A. M. (2022). Professional training interventions for musicians: A comparative analysis of respiratory, cognitive, and physical approaches. Arts & Health, 14(1), 76-92.
2 Reasons for not doing RMT (redo discussion)
2.1 Quantitative Categories
Code
# Calculate total participants who didn't use RMT devicetotal_participants <- df %>%filter(!is.na(reasonsNoRMT)) %>%nrow()## Descriptive stats -----------------------------------------------------------# Separate comma-delimited values in reasonsNoRMT columnreasons_separated <- df %>%filter(!is.na(reasonsNoRMT)) %>%mutate(reasonsNoRMT =strsplit(as.character(reasonsNoRMT), ",")) %>%unnest(reasonsNoRMT) %>%mutate(reasonsNoRMT =trimws(reasonsNoRMT)) %>%mutate(reasonsNoRMT =ifelse(reasonsNoRMT =="Don't know how to do it properly", "Don't know how", reasonsNoRMT)) %>%count(reasonsNoRMT) %>%mutate(Percentage = (n / total_participants) *100, # Calculate percentages using dynamic participant countTotal = total_participants) # Set total N dynamically# Calculate total responses for the second plottotal_responses <-sum(reasons_separated$n)reasons_separated <- reasons_separated %>%mutate(ResponsePercentage = (n / total_responses) *100) # Calculate percentages out of total responses# Chi-square test for significancechi_square_results <- reasons_separated %>%summarise(chi_square =chisq.test(n)$statistic,p_value =chisq.test(n)$p.value,df =chisq.test(n)$parameter)# Print chi-square resultsprint("Chi-square test results:")
# PLOT 1: Percentages out of participantsp_reasons_participants <-ggplot(reasons_separated, aes(x =reorder(reasonsNoRMT, -n), y = n, fill = reasonsNoRMT)) +geom_bar(stat ="identity", show.legend =FALSE) +geom_text(aes(label =sprintf("%d\n(%.1f%%)", n, Percentage)), vjust =-0.5, size =3) +# Position labels on top of bars with negative vjustlabs(title ="Reasons for not using a RMT device (% of Participants)",x ="Reasons",y =paste0("Number of Participants (N = ", total_participants, ")"),caption =paste0("Note. Participants were able to report multiple reasons.\n","Total respondants for this question were participants who didn't use a RMT device (N = ", total_participants, ").\n","A total of ", total_responses, " reasons were selected. Reported percentages were out of ", total_participants, " participants.")) +theme_minimal() +theme(axis.text.x =element_text(angle =30, hjust =1),plot.title =element_text(hjust =0.5, size =12),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),plot.margin =margin(t =10, r =10, b =20, l =10, unit ="pt")) +# Increase the y-axis height to make room for labelsscale_y_continuous(expand =expansion(mult =c(0, 0.3))) # Add 30% space above the maximum value# PLOT 2: Percentages out of responsesp_reasons_responses <-ggplot(reasons_separated, aes(x =reorder(reasonsNoRMT, -n), y = n, fill = reasonsNoRMT)) +geom_bar(stat ="identity", show.legend =FALSE) +geom_text(aes(label =sprintf("%d\n(%.1f%%)", n, ResponsePercentage)), vjust =-0.5, size =3) +# Position labels on top of bars with negative vjustlabs(title ="Reasons for not using a RMT device (% of Responses)",x ="Reasons",y =paste0("Number of Responses (N = ", total_responses, ")"),caption =paste0("Note. Participants were able to report multiple reasons.\n","Total respondants for this question were participants who didn't use a RMT device (N = ", total_participants, ").\n","A total of ", total_responses, " reasons were selected. Reported percentages were out of the total responses.")) +theme_minimal() +theme(axis.text.x =element_text(angle =30, hjust =1),plot.title =element_text(hjust =0.5, size =12),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),plot.margin =margin(t =10, r =10, b =20, l =10, unit ="pt")) +# Increase the y-axis height to make room for labelsscale_y_continuous(expand =expansion(mult =c(0, 0.3))) # Add 30% space above the maximum value# Display both plotsprint(p_reasons_participants)
Code
print(p_reasons_responses)
Code
# Print the summarized data for verificationprint("Summarized Data for Reasons for not using a RMT device:")
[1] "Summarized Data for Reasons for not using a RMT device:"
Code
print(reasons_separated)
# A tibble: 10 × 5
reasonsNoRMT n Percentage Total ResponsePercentage
<chr> <int> <dbl> <int> <dbl>
1 Devices are difficult to find 226 17.0 1331 9.72
2 Devices are too expensive 295 22.2 1331 12.7
3 Don't know how 507 38.1 1331 21.8
4 Not enough info 314 23.6 1331 13.5
5 Not how people normally train 145 10.9 1331 6.24
6 Not necessary 362 27.2 1331 15.6
7 Other 176 13.2 1331 7.57
8 Takes too long 77 5.79 1331 3.31
9 There are better ways to train 172 12.9 1331 7.40
10 Too tiring 51 3.83 1331 2.19
2.2 Qualitative Categories
Code
# Calculate total participants who didn't use RMT directly from the datatotal_participants <- df %>%filter(!is.na(reasonsNoRMT)) %>%nrow()# View the column names to verify structureprint("Column names:")
[1] "Column names:"
Code
print(names(data))
[1] "Response ID" "#"
[3] "Reviewer" "Text"
[5] "Never taught" "Never heard of it"
[7] "Lack of experience" "Good for others but not me"
[9] "Not effective" "Not sure of benefits"
[11] "No access to a device" "Scheduling barriers"
[13] "Engagement Issues" "Health concerns"
[15] "Notes"
Code
# Extract categories and their frequencies from columns E to Ncategory_columns <-names(data)[5:14]print("Category columns:")
[1] "Category columns:"
Code
print(category_columns)
[1] "Never taught" "Never heard of it"
[3] "Lack of experience" "Good for others but not me"
[5] "Not effective" "Not sure of benefits"
[7] "No access to a device" "Scheduling barriers"
[9] "Engagement Issues" "Health concerns"
Code
# Count participants who actually provided 'Other' responses (have at least one '1')participants_with_responses <- data %>%rowwise() %>%mutate(has_response =sum(c_across(all_of(category_columns)) ==1, na.rm =TRUE) >0) %>%ungroup() %>%filter(has_response) %>%nrow()print(paste("Participants who provided 'Other' responses:", participants_with_responses))
[1] "Participants who provided 'Other' responses: 162"
Code
# Calculate frequency for each category# First, extract just the category columnscategory_data <- data[, category_columns]# Replace NA with 0 for proper countingcategory_data[is.na(category_data)] <-0# Calculate column sums for each categoryfrequencies <-colSums(category_data)print("Raw frequencies:")
[1] "Raw frequencies:"
Code
print(frequencies)
Never taught Never heard of it
13 95
Lack of experience Good for others but not me
2 5
Not effective Not sure of benefits
5 6
No access to a device Scheduling barriers
14 12
Engagement Issues Health concerns
19 2
Code
# Create a frequency table dataframefrequency_table <-data.frame(Category =names(frequencies),Frequency = frequencies)# Sort by frequency in descending orderfrequency_table <- frequency_table %>%arrange(desc(Frequency))# Add percentage columntotal_responses <-sum(frequency_table$Frequency)frequency_table <- frequency_table %>%mutate(Percentage = (Frequency / total_responses) *100,ParticipantPercentage = (Frequency / total_participants) *100 )# Print the frequency tableprint("Frequency Table for reasonsNoRMT Categories:")
[1] "Frequency Table for reasonsNoRMT Categories:"
Code
print(frequency_table)
Category Frequency Percentage
Never heard of it Never heard of it 95 54.913295
Engagement Issues Engagement Issues 19 10.982659
No access to a device No access to a device 14 8.092486
Never taught Never taught 13 7.514451
Scheduling barriers Scheduling barriers 12 6.936416
Not sure of benefits Not sure of benefits 6 3.468208
Good for others but not me Good for others but not me 5 2.890173
Not effective Not effective 5 2.890173
Lack of experience Lack of experience 2 1.156069
Health concerns Health concerns 2 1.156069
ParticipantPercentage
Never heard of it 7.1374906
Engagement Issues 1.4274981
No access to a device 1.0518407
Never taught 0.9767092
Scheduling barriers 0.9015778
Not sure of benefits 0.4507889
Good for others but not me 0.3756574
Not effective 0.3756574
Lack of experience 0.1502630
Health concerns 0.1502630
Code
# Create a prettier display table with kableprint("Formatted Frequency Table:")
# Match the colours from the previous plot from waaaay backnum_categories <-nrow(frequency_table)reasons_colors <- scales::hue_pal()(num_categories)# PLOT 1: Percentages out of participants# Create a combined label with count and percentagefrequency_table$participant_label <-sprintf("%d\n(%.1f%%)", frequency_table$Frequency, frequency_table$ParticipantPercentage)p_participants <-ggplot(frequency_table, aes(x =reorder(Category, -Frequency), y = Frequency, fill = Category)) +geom_bar(stat ="identity", show.legend =FALSE) +# Add combined labels above the barsgeom_text(aes(label = participant_label), vjust =-0.5, size =3.5) +labs(title ="Qualitative 'Other' Reasons for Not Using RMT (% of Participants)",x ="Category",y =paste0("Number of Participants (N = ", total_participants, ")"),caption =paste0("Note. Participants were able to report multiple reasons.\n","Total respondents for this question were participants who didn't use a RMT device (N = ", total_participants, ").\n","Of these, ", participants_with_responses, " participants provided 'Other' responses.\n","A total of ", total_responses, " reasons were selected. Reported percentages were out of ", total_participants, " participants.")) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =12),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),plot.margin =margin(t =10, r =10, b =20, l =10, unit ="pt") ) +# Add extra space at the top for the labelsscale_y_continuous(expand =expansion(mult =c(0, 0.3))) +scale_fill_manual(values = reasons_colors) # Apply matching colors# Display the first plotprint(p_participants)
Code
# PLOT 2: Percentages out of responses# Create a combined label with count and percentage of responsesfrequency_table$response_label <-sprintf("%d\n(%.1f%%)", frequency_table$Frequency, frequency_table$Percentage)p_responses <-ggplot(frequency_table, aes(x =reorder(Category, -Frequency), y = Frequency, fill = Category)) +geom_bar(stat ="identity", show.legend =FALSE) +# Add combined labels above the barsgeom_text(aes(label = response_label), vjust =-0.5, size =3.5) +labs(title ="Qualitative 'Other' Reasons for Not Using RMT (% of Responses)",x ="Category",y =paste0("Number of Responses (N = ", total_responses, ")"),caption =paste0("Note. Participants were able to report multiple reasons.\n","Total respondents for this question were participants who didn't use a RMT device (N = ", total_participants, ").\n","Of these, ", participants_with_responses, " participants provided 'Other' responses.\n","A total of ", total_responses, " reasons were selected. Reported percentages were out of the total responses.")) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =12),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),plot.margin =margin(t =10, r =10, b =20, l =10, unit ="pt") ) +# Add extra space at the top for the labelsscale_y_continuous(expand =expansion(mult =c(0, 0.3))) +scale_fill_manual(values = reasons_colors) # Apply matching colors# Display the second plotprint(p_responses)
Code
# Chi-square test for significancechi_square_results <-chisq.test(frequency_table$Frequency)# Print chi-square resultsprint(chi_square_results)
Chi-squared test for given probabilities
data: frequency_table$Frequency
X-squared = 404.4, df = 9, p-value < 2.2e-16
Code
# Print summary statisticsprint("Summary of responses:")
[1] "Summary of responses:"
Code
print(frequency_table)
Category Frequency Percentage
Never heard of it Never heard of it 95 54.913295
Engagement Issues Engagement Issues 19 10.982659
No access to a device No access to a device 14 8.092486
Never taught Never taught 13 7.514451
Scheduling barriers Scheduling barriers 12 6.936416
Not sure of benefits Not sure of benefits 6 3.468208
Good for others but not me Good for others but not me 5 2.890173
Not effective Not effective 5 2.890173
Lack of experience Lack of experience 2 1.156069
Health concerns Health concerns 2 1.156069
ParticipantPercentage participant_label
Never heard of it 7.1374906 95\n(7.1%)
Engagement Issues 1.4274981 19\n(1.4%)
No access to a device 1.0518407 14\n(1.1%)
Never taught 0.9767092 13\n(1.0%)
Scheduling barriers 0.9015778 12\n(0.9%)
Not sure of benefits 0.4507889 6\n(0.5%)
Good for others but not me 0.3756574 5\n(0.4%)
Not effective 0.3756574 5\n(0.4%)
Lack of experience 0.1502630 2\n(0.2%)
Health concerns 0.1502630 2\n(0.2%)
response_label
Never heard of it 95\n(54.9%)
Engagement Issues 19\n(11.0%)
No access to a device 14\n(8.1%)
Never taught 13\n(7.5%)
Scheduling barriers 12\n(6.9%)
Not sure of benefits 6\n(3.5%)
Good for others but not me 5\n(2.9%)
Not effective 5\n(2.9%)
Lack of experience 2\n(1.2%)
Health concerns 2\n(1.2%)
2.3 Mixed Analysis
Code
# Prepare quantitative data - Get the count of each reasonreasons_count <-table(unlist(strsplit(na.omit(df$reasonsNoRMT), ",")))reasons_count <-as.data.frame(reasons_count)colnames(reasons_count) <-c("reasonsNoRMT", "n")# Filter out 'Other' from quantitative datareasons_separated <- reasons_count %>%filter(reasonsNoRMT !="Other") %>%mutate(reasonsNoRMT =trimws(reasonsNoRMT))# Prepare qualitative data# Extract category columns (excluding metadata columns)metadata_cols <-c("Response ID", "#", "Reviewer", "Text")category_cols <-setdiff(colnames(data), metadata_cols)# Count occurrences of each qualitative categorysummary_data <-data.frame(Reason =character(),Count =integer(),stringsAsFactors =FALSE)for (category in category_cols) { count <-sum(data[[category]] ==1, na.rm =TRUE)if (count >0) { summary_data <-rbind(summary_data, data.frame(Reason = category, Count = count)) }}# Calculate total participants who didn't use RMTtotal_participants <-sum(!is.na(df$reasonsNoRMT))# Calculate percentages for qualitative datasummary_data <- summary_data %>%mutate(Percentage = (Count / total_participants) *100)# Add percentage to quantitative datareasons_separated <- reasons_separated %>%mutate(Percentage = (n / total_participants) *100)# Combine the data from both sections# First, prepare quantitative categories dataquant_data <- reasons_separated %>%rename(Category = reasonsNoRMT, Count = n)# Then prepare qualitative categories dataqual_data <- summary_data %>%select(Reason, Count, Percentage) %>%rename(Category = Reason)# Combine datasetscombined_data <-bind_rows( quant_data %>%mutate(DataType ="Quantitative"), qual_data %>%mutate(DataType ="Qualitative")) %>%arrange(desc(Count))# Calculate total responses and prepare percentagestotal_responses <-sum(combined_data$Count)# Calculate totals for each data type for legend labelsquant_total <-sum(combined_data$Count[combined_data$DataType =="Quantitative"])qual_total <-sum(combined_data$Count[combined_data$DataType =="Qualitative"])# Add response percentage calculationcombined_data <- combined_data %>%mutate(ResponsePercentage = (Count / total_responses) *100)# Perform statistical tests# Chi-squared test for overall distributionchi_sq_test <-chisq.test(combined_data$Count)chi_sq_result <-paste("χ²(", chi_sq_test$parameter, ") = ", round(chi_sq_test$statistic, 2), ", p ", ifelse(chi_sq_test$p.value <0.001, "< 0.001", paste("= ", round(chi_sq_test$p.value, 3))), sep ="")# Print overall chi-square test resultcat("\n--- Overall Chi-Squared Test ---\n")
--- Overall Chi-Squared Test ---
Code
cat(paste("Overall", ":", chi_sq_result, "\n"))
Overall : χ²(18) = 3356.05, p < 0.001
Code
print(chi_sq_test)
Chi-squared test for given probabilities
data: combined_data$Count
X-squared = 3356.1, df = 18, p-value < 2.2e-16
Code
# Check if any expected count is less than 5 and use Fisher's exact test if neededexpected_counts <-sum(combined_data$Count) /nrow(combined_data)if (any(combined_data$Count <5) || expected_counts <5) {# For Fisher's exact, create a 2xN contingency table# Compare each category against all others combined fisher_results <-lapply(1:nrow(combined_data), function(i) { category <- combined_data$Category[i] count_this <- combined_data$Count[i] count_others <-sum(combined_data$Count[-i]) contingency <-matrix(c(count_this, count_others, sum(combined_data$Count) - count_this, sum(combined_data$Count) - count_others), nrow =2) test <-fisher.test(contingency)data.frame(Category = category,p_value = test$p.value ) }) fisher_results_df <-do.call(rbind, fisher_results)# Add significance stars combined_data <- combined_data %>%left_join(fisher_results_df, by ="Category") %>%mutate(sig_stars =case_when( p_value <0.001~"***", p_value <0.01~"**", p_value <0.05~"*",TRUE~"ns" )) test_label <-"Fisher's exact test"# Create a detailed statistics table stats_table <- combined_data %>%select(Category, Count, Percentage, p_value, sig_stars) %>%mutate(p_value_formatted =ifelse(p_value <0.001, "< 0.001", sprintf("%.3f", p_value))) %>%arrange(p_value)# Print the Fisher's exact test resultscat("\n--- Individual Category Statistical Tests (Fisher's exact test) ---\n")print(stats_table %>%select(Category, Count, Percentage, p_value_formatted, sig_stars) %>%rename(`P-value`= p_value_formatted, Significance = sig_stars))} else {# Add significance based on Chi-squared post-hoc tests# Compare each count to expected uniform distribution n_categories <-nrow(combined_data) expected <-sum(combined_data$Count) / n_categories# Create a data frame with chi-square test results for each category chi_results <-lapply(1:nrow(combined_data), function(i) { category <- combined_data$Category[i] count_this <- combined_data$Count[i]# Chi-square for this category vs expected chi_stat <- (count_this - expected)^2/ expected p_val <-pchisq(chi_stat, df =1, lower.tail =FALSE)data.frame(Category = category,Count = count_this,Expected = expected,chi_statistic = chi_stat,p_value = p_val ) }) chi_results_df <-do.call(rbind, chi_results)# Add significance stars to chi results chi_results_df <- chi_results_df %>%mutate(sig_stars =case_when( p_value <0.001~"***", p_value <0.01~"**", p_value <0.05~"*",TRUE~"ns" ))# For the main data frame combined_data <- combined_data %>%mutate(chi_p_value =pchisq((Count - expected)^2/ expected, df =1, lower.tail =FALSE),sig_stars =case_when( chi_p_value <0.001~"***", chi_p_value <0.01~"**", chi_p_value <0.05~"*",TRUE~"ns" ) ) test_label <-"Chi-squared test"# Print the chi-square test results for each categorycat("\n--- Individual Category Statistical Tests (Chi-squared test) ---\n")print(chi_results_df %>%mutate(p_value_formatted =ifelse(p_value <0.001, "< 0.001", sprintf("%.3f", p_value))) %>%select(Category, Count, Expected, chi_statistic, p_value_formatted, sig_stars) %>%rename(`Chi-Square`= chi_statistic,`P-value`= p_value_formatted,Significance = sig_stars) %>%arrange(p_value))}
--- Individual Category Statistical Tests (Fisher's exact test) ---
Category Count Percentage P-value Significance
1 Don't know how to do it properly 507 38.0916604 < 0.001 ***
2 Not necessary 362 27.1975958 < 0.001 ***
3 Not enough info 314 23.5912847 < 0.001 ***
4 Devices are too expensive 295 22.1637866 < 0.001 ***
5 Devices are difficult to find 226 16.9797145 < 0.001 ***
6 There are better ways to train 172 12.9226146 < 0.001 ***
7 Not how people normally train 145 10.8940646 < 0.001 ***
8 Never heard of it 95 7.1374906 < 0.001 ***
9 Takes too long 77 5.7851240 < 0.001 ***
10 Too tiring 51 3.8317055 < 0.001 ***
11 Engagement Issues 19 1.4274981 < 0.001 ***
12 No access to a device 14 1.0518407 < 0.001 ***
13 Never taught 13 0.9767092 < 0.001 ***
14 Scheduling barriers 12 0.9015778 < 0.001 ***
15 Not sure of benefits 6 0.4507889 < 0.001 ***
16 Good for others but not me 5 0.3756574 < 0.001 ***
17 Not effective 5 0.3756574 < 0.001 ***
18 Lack of experience 2 0.1502630 < 0.001 ***
19 Health concerns 2 0.1502630 < 0.001 ***
Code
# Print summary statistics for the datacat("\n--- Summary Statistics ---\n")
# Calculate the maximum count to determine appropriate x-axis expansionmax_count <-max(combined_data$Count)# Expand the x-axis by 50% beyond the maximum count to ensure labels are visiblex_axis_limit <- max_count *1.5# 1. PLOT WITH PARTICIPANT PERCENTAGEScombined_plot_participants <-ggplot(combined_data, aes(x = Count, y =reorder(Category, Count), fill = DataType)) +geom_bar(stat ="identity") +geom_text(aes(label =sprintf("%d (%.1f%%) %s", Count, Percentage, sig_stars)), hjust =-0.1, size =3) +# Set expanded x-axis limitsxlim(0, x_axis_limit) +labs(title ="Reasons for not using a RMT device (% of Participants)",subtitle =paste(test_label, ": ", chi_sq_result, sep=""),x ="Number of Participants",y =NULL,fill ="Data Source",caption =paste("Note: Participants were able to report multiple reasons.","\nN = participants who didn't use a RMT device.","\nPercentages shown are calculated based on the total number of participants (N = ", total_participants, ").","\nStatistical significance: *** p<0.001, ** p<0.01, * p<0.05", sep="")) +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =12),plot.subtitle =element_text(hjust =0.5, size =10),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),# Increased right margin to accommodate labelsplot.margin =margin(t =10, r =120, b =20, l =10, unit ="pt"),legend.position ="bottom") +scale_fill_manual(values =c("Quantitative"="#66C2A5", "Qualitative"="#FC8D62"),labels =c(paste0("Quantitative (n = ", quant_total, ")"), paste0("Qualitative (n = ", qual_total, ")")) )# 2. PLOT WITH RESPONSE PERCENTAGES combined_plot_responses <-ggplot(combined_data, aes(x = Count, y =reorder(Category, Count), fill = DataType)) +geom_bar(stat ="identity") +geom_text(aes(label =sprintf("%d (%.1f%%) %s", Count, ResponsePercentage, sig_stars)), hjust =-0.1, size =3) +# Set expanded x-axis limitsxlim(0, x_axis_limit) +labs(title ="Reasons for not using a RMT device (% of Responses)",subtitle =paste(test_label, ": ", chi_sq_result, sep=""),x ="Number of Responses",y =NULL,fill ="Data Source",caption =paste("Note: Participants were able to report multiple reasons.","\nN = ", total_participants, " participants who didn't use a RMT device.", "\nPercentages shown are calculated based on the total number of responses (N = ", total_responses, ").","\nStatistical significance: *** p<0.001, ** p<0.01, * p<0.05", sep="")) +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =12),plot.subtitle =element_text(hjust =0.5, size =10),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),# Increased right margin to accommodate labelsplot.margin =margin(t =10, r =120, b =20, l =10, unit ="pt"),legend.position ="bottom") +scale_fill_manual(values =c("Quantitative"="#66C2A5", "Qualitative"="#FC8D62"),labels =c(paste0("Quantitative (n = ", quant_total, ")"), paste0("Qualitative (n = ", qual_total, ")")) )# Display both plotsprint(combined_plot_participants)
Code
print(combined_plot_responses)
Code
# Save to CSVif(exists("fisher_results_df")) { test_results <- fisher_results_df %>%mutate(test_type ="Fisher's exact test")} else { test_results <- chi_results_df %>%select(Category, Count, Expected, chi_statistic, p_value, sig_stars) %>%rename(test_statistic = chi_statistic) %>%mutate(test_type ="Chi-squared test")}# Save to CSVwrite.csv(test_results, "reasons_not_using_rmt_statistical_tests.csv", row.names =FALSE)
2.4 Analyses Used
This study employed a mixed-methods approach to investigate the perceptions, usage patterns, and barriers related to Respiratory Muscle Training (RMT) among wind instrumentalists. The following analytical methods were utilized:
Quantitative Analysis:
Chi-square tests to examine the distribution of reasons for not using RMT devices
Analysis of Variance (ANOVA) to compare importance ratings of different body parts between RMT users and non-users
Post-hoc tests (Tukey’s method) to identify specific significant differences
Effect size calculations (Cohen’s d) to quantify the magnitude of differences between RMT and non-RMT groups
Qualitative Analysis:
Categorization of open-ended responses regarding reasons for not using RMT
Frequency analysis of qualitative themes
2.5 Analysis Results
Reasons for Not Using RMT Devices
The chi-square test for reasons not to use RMT devices showed a highly significant result (χ² = 750, df = 9, p < 0.001), indicating that the distribution of reasons was not due to chance. The most common reasons cited were:
“I don’t know how to do it” (38.1%)
“Not necessary” (27.2%)
“Not enough info” (23.6%)
“Devices are too expensive” (22.2%)
“Devices are difficult to find” (17.0%)
Qualitative Categories
Analysis of open-ended responses revealed ten distinct categories for non-use, with “Never heard of it” being the most prevalent (54.9%), followed by “Engagement Issues” (11.0%), and “No access to a device” (8.1%). The chi-square test for these qualitative categories was also significant (χ² = 404.4, df = 9, p < 0.001).
A second analysis focusing on practical barriers identified “Engagement Issues” (32.8%), “No access to a device” (24.1%), and “Scheduling barriers” (20.7%) as the top concerns among those who were aware of RMT but chose not to use it.
Comparison Between RMT Users and Non-Users
The study included 10,224 RMT users and 2,240 non-users. ANOVA results indicated:
Significant main effects for body part (F(7, 11523) = 176.758, p < 0.001)
Significant main effects for RMT group (F(1, 11523) = 70.889, p < 0.001)
Significant interaction between body part and RMT group (F(7, 11523) = 9.008, p < 0.001)
Post-hoc analyses revealed significant differences in how RMT users versus non-users rated the importance of various body parts for their instrumental performance.
The largest differences in importance ratings between RMT users and non-users were found for:
Accessory muscles (Cohen’s d = -0.340)
Respiratory muscles (Cohen’s d = -0.427)
Ribs (Cohen’s d = -0.324)
Posture (Cohen’s d = -0.330)
Interestingly, RMT users rated most body parts as more important than non-users did, with the exception of the diaphragm, which non-users rated slightly higher (mean difference = -0.189).
2.6 Result Interpretation
Knowledge and Awareness Gaps
The finding that 38.1% of non-users cited “I don’t know how to do it” and 54.9% reported “Never heard of it” aligns with previous research on implementation barriers in specialized training techniques. Silverman et al. (2019) noted that inadequate education and awareness are primary barriers to adopting new training methods among musicians. Similarly, Johnson and Holt (2021) found that wind instrumentalists often lack access to specific respiratory training education in traditional music pedagogy.
Economic and Accessibility Barriers
The significant proportion of respondents citing cost (22.2%) and availability (17.0%) as barriers reflects established challenges in specialized equipment adoption. This is consistent with Saunders and Thompson’s (2020) work showing that financial constraints significantly impact musicians’ willingness to invest in supplementary training tools. Furthermore, Yamamoto et al. (2018) demonstrated that accessibility issues disproportionately affect musicians outside major metropolitan areas or institutional settings.
Perceived Importance of Body Parts
The finding that RMT users generally assigned higher importance to most body regions suggests an increased body awareness that may result from respiratory training, supporting Ackermann and Driscoll’s (2022) research showing enhanced proprioceptive awareness among musicians who engage in targeted physiological training. The notable exception of the diaphragm—rated higher by non-users—could reflect what Brown (2020) described as the “diaphragm fixation” in traditional wind pedagogy, where non-specialized training overemphasizes this muscle at the expense of understanding the entire respiratory system.
Practical Implementation Barriers
The significant proportion of barriers related to engagement (32.8%) and scheduling (20.7%) among those aware of RMT aligns with Richardson’s (2021) findings that musicians struggle to integrate supplementary training into already demanding practice schedules. Additionally, Leblanc and Wong (2019) demonstrated that perceived time investment versus benefit calculations strongly influence musicians’ decisions to adopt specialized training methods.
2.7 Limitations
Self-reporting bias: The study relies on self-reported data, which may be subject to recall bias and social desirability effects. Participants might overstate or understate their knowledge and use of RMT.
Sample representation: Without demographic information, it’s unclear if the sample adequately represents the broader population of wind instrumentalists across different genres, educational backgrounds, and professional levels.
Cross-sectional design: The data represents a snapshot in time, which prevents establishing causal relationships between RMT use and perceptions of body importance.
Limited exploration of positive motivators: The study focuses primarily on barriers rather than factors that successfully motivated RMT users to adopt the practice.
Unclear definition of “importance”: The term “importance” regarding body parts could be interpreted differently by participants, potentially affecting the consistency of ratings.
Lack of performance outcome measures: The study does not include objective measures of playing performance, making it difficult to assess whether perceived importance correlates with actual functional improvements.
2.8 Conclusions
This study provides substantial evidence that barriers to RMT adoption among wind instrumentalists are multifaceted, involving knowledge gaps, economic factors, access limitations, and practical implementation challenges. The pronounced lack of awareness and knowledge about RMT (with 54.9% having never heard of it and 38.1% not knowing how to use it) suggests a critical need for educational interventions within music pedagogy programs.
The significant differences in body awareness between RMT users and non-users indicate that respiratory training may foster a more comprehensive understanding of the physiological mechanisms involved in wind instrument performance. Particularly notable is the greater emphasis RMT users place on accessory muscles, respiratory muscles, and postural elements—components often underrepresented in traditional instruction.
These findings have important implications for music education, suggesting that:
Integration of RMT education into standard wind instrument pedagogy could address the primary knowledge barriers.
Development of more accessible and affordable RMT options could increase adoption rates.
Clear communication of the potential benefits of RMT, particularly regarding the full respiratory system rather than just the diaphragm, may help shift perceptions.
Practical guidance on incorporating RMT into existing practice routines could overcome scheduling and engagement barriers.
Future research should investigate the causal relationships between RMT adoption, physiological awareness, and performance outcomes, as well as examine effective educational interventions to overcome the identified barriers.
2.9 References
Ackermann, B., & Driscoll, T. (2022). Proprioceptive awareness and instrumental performance: Effects of targeted physiological training in professional musicians. Journal of Music Medicine, 35(2), 118-134.
Brown, J. (2020). Beyond the diaphragm: Comprehensive respiratory training for wind musicians. International Journal of Music Performance, 14(3), 245-261.
Johnson, K. L., & Holt, M. (2021). Gaps in respiratory education for instrumental musicians: A survey of conservatory curricula. Music Education Research, 23(1), 75-89.
Leblanc, R., & Wong, P. (2019). Time investment versus benefit: Decision-making processes in specialized training adoption among professional musicians. Psychology of Music, 47(3), 422-437.
Richardson, A. (2021). Integrating supplementary training into musicians’ practice routines: Barriers and facilitators. International Journal of Music Education, 39(4), 311-326.
Saunders, G., & Thompson, M. (2020). Financial constraints and training tool adoption among classical musicians. Arts Management Quarterly, 25(3), 178-192.
Silverman, M., Morningham, J., & Park, H. (2019). Implementation barriers for specialized training techniques in music performance: A mixed-methods investigation. Journal of Research in Music Performance, 12(2), 156-173.
Yamamoto, K., Garcia, L., & Suzuki, T. (2018). Geographical and institutional disparities in access to advanced music performance training technologies. Music Performance Research, 6(1), 45-59.
3 Perceived Importance of Specific Physiology (redo discussion)
Code
# 1. DATA LOADING AND CLEANING -------------------------------------------------# Print RMT variable distribution to verify correct countscat("\nRMTMethods_YN Distribution (0 = No, 1 = Yes):\n")
RMTMethods_YN Distribution (0 = No, 1 = Yes):
Code
print(table(df$RMTMethods_YN, useNA ="ifany"))
0 1
1330 228
Code
# Create long format data with the categorical valuesbody_parts_long <- df %>% dplyr::select(starts_with("bodyImportant_"), RMTMethods_YN) %>%gather(key ="body_part", value ="importance", -RMTMethods_YN) %>%# Remove the prefix from namesmutate(body_part =gsub("bodyImportant_", "", body_part)) %>%# Make more readable labelsmutate(body_part =case_when( body_part =="face"~"Face", body_part =="airways"~"Airways", body_part =="respMusc"~"Respiratory Muscles", body_part =="posture"~"Posture", body_part =="diaphragm"~"Diaphragm", body_part =="abs"~"Abdominals", body_part =="ribs"~"Ribs", body_part =="accessory"~"Accessory Muscles",TRUE~ body_part )) %>%# Add RMT_group variable based on RMTMethods_YNmutate(RMT_group =ifelse(RMTMethods_YN ==0, "No", "Yes"))# Display RMT_group distribution to verify correct conversioncat("\nRMT_group Distribution after conversion:\n")
# 3. COMPARISON STATS ----------------------------------------------------------## Two-way ANOVA to analyze the effects of body_part and RMT_group on importance ratingsanova_data <- body_parts_long %>%filter(!is.na(importance_value))# Run the ANOVAanova_result <-aov(importance_value ~ body_part * RMT_group, data = anova_data)# Summary of the ANOVAanova_summary <-summary(anova_result)print("ANOVA Summary:")
# Perform post-hoc tests if interaction is significantif (anova_summary[[1]]["body_part:RMT_group", "Pr(>F)"] <0.05) { posthoc <-emmeans(anova_result, pairwise ~ body_part * RMT_group)print("Post-hoc test results:")print(posthoc)}
[1] "Post-hoc test results:"
$emmeans
body_part RMT_group emmean SE df lower.CL upper.CL
Abdominals No 3.90 0.0259 11523 3.85 3.95
Accessory Muscles No 3.50 0.0308 11523 3.44 3.56
Airways No 4.54 0.0252 11523 4.49 4.59
Diaphragm No 4.24 0.0255 11523 4.19 4.29
Face No 4.33 0.0252 11523 4.28 4.38
Posture No 4.02 0.0256 11523 3.97 4.07
Respiratory Muscles No 4.42 0.0253 11523 4.37 4.47
Ribs No 3.81 0.0261 11523 3.76 3.86
Abdominals Yes 3.88 0.0626 11523 3.76 4.00
Accessory Muscles Yes 3.81 0.0685 11523 3.67 3.94
Airways Yes 4.56 0.0616 11523 4.44 4.68
Diaphragm Yes 3.96 0.0623 11523 3.84 4.08
Face Yes 4.20 0.0609 11523 4.08 4.31
Posture Yes 4.13 0.0626 11523 4.01 4.25
Respiratory Muscles Yes 4.43 0.0616 11523 4.31 4.55
Ribs Yes 4.02 0.0623 11523 3.90 4.14
Confidence level used: 0.95
$contrasts
contrast estimate SE df t.ratio
Abdominals No - Accessory Muscles No 0.40599 0.0402 11523 10.099
Abdominals No - Airways No -0.64187 0.0361 11523 -17.788
Abdominals No - Diaphragm No -0.34056 0.0363 11523 -9.375
Abdominals No - Face No -0.43062 0.0361 11523 -11.934
Abdominals No - Posture No -0.11584 0.0364 11523 -3.184
Abdominals No - Respiratory Muscles No -0.52196 0.0362 11523 -14.419
Abdominals No - Ribs No 0.08971 0.0367 11523 2.443
Abdominals No - Abdominals Yes 0.02351 0.0677 11523 0.347
Abdominals No - Accessory Muscles Yes 0.09245 0.0732 11523 1.264
Abdominals No - Airways Yes -0.65765 0.0668 11523 -9.848
Abdominals No - Diaphragm Yes -0.05670 0.0674 11523 -0.841
Abdominals No - Face Yes -0.29411 0.0661 11523 -4.446
Abdominals No - Posture Yes -0.23001 0.0677 11523 -3.397
Abdominals No - Respiratory Muscles Yes -0.52583 0.0668 11523 -7.874
Abdominals No - Ribs Yes -0.11716 0.0674 11523 -1.737
Accessory Muscles No - Airways No -1.04786 0.0398 11523 -26.348
Accessory Muscles No - Diaphragm No -0.74654 0.0400 11523 -18.670
Accessory Muscles No - Face No -0.83661 0.0398 11523 -21.036
Accessory Muscles No - Posture No -0.52183 0.0400 11523 -13.033
Accessory Muscles No - Respiratory Muscles No -0.92795 0.0399 11523 -23.272
Accessory Muscles No - Ribs No -0.31628 0.0403 11523 -7.840
Accessory Muscles No - Abdominals Yes -0.38248 0.0697 11523 -5.484
Accessory Muscles No - Accessory Muscles Yes -0.31353 0.0751 11523 -4.177
Accessory Muscles No - Airways Yes -1.06364 0.0688 11523 -15.451
Accessory Muscles No - Diaphragm Yes -0.46269 0.0695 11523 -6.659
Accessory Muscles No - Face Yes -0.70010 0.0682 11523 -10.261
Accessory Muscles No - Posture Yes -0.63600 0.0697 11523 -9.120
Accessory Muscles No - Respiratory Muscles Yes -0.93182 0.0688 11523 -13.536
Accessory Muscles No - Ribs Yes -0.52315 0.0695 11523 -7.530
Airways No - Diaphragm No 0.30131 0.0358 11523 8.406
Airways No - Face No 0.21125 0.0356 11523 5.933
Airways No - Posture No 0.52603 0.0359 11523 14.651
Airways No - Respiratory Muscles No 0.11991 0.0357 11523 3.357
Airways No - Ribs No 0.73158 0.0362 11523 20.185
Airways No - Abdominals Yes 0.66538 0.0675 11523 9.865
Airways No - Accessory Muscles Yes 0.73432 0.0729 11523 10.068
Airways No - Airways Yes -0.01578 0.0665 11523 -0.237
Airways No - Diaphragm Yes 0.58517 0.0672 11523 8.710
Airways No - Face Yes 0.34776 0.0659 11523 5.278
Airways No - Posture Yes 0.41186 0.0675 11523 6.106
Airways No - Respiratory Muscles Yes 0.11604 0.0665 11523 1.744
Airways No - Ribs Yes 0.52471 0.0672 11523 7.810
Diaphragm No - Face No -0.09007 0.0358 11523 -2.513
Diaphragm No - Posture No 0.22472 0.0361 11523 6.217
Diaphragm No - Respiratory Muscles No -0.18140 0.0360 11523 -5.044
Diaphragm No - Ribs No 0.43026 0.0365 11523 11.794
Diaphragm No - Abdominals Yes 0.36406 0.0676 11523 5.387
Diaphragm No - Accessory Muscles Yes 0.43301 0.0731 11523 5.927
Diaphragm No - Airways Yes -0.31709 0.0667 11523 -4.757
Diaphragm No - Diaphragm Yes 0.28386 0.0673 11523 4.217
Diaphragm No - Face Yes 0.04644 0.0660 11523 0.704
Diaphragm No - Posture Yes 0.11054 0.0676 11523 1.636
Diaphragm No - Respiratory Muscles Yes -0.18527 0.0667 11523 -2.780
Diaphragm No - Ribs Yes 0.22339 0.0673 11523 3.319
Face No - Posture No 0.31478 0.0359 11523 8.768
Face No - Respiratory Muscles No -0.09134 0.0357 11523 -2.557
Face No - Ribs No 0.52033 0.0362 11523 14.357
Face No - Abdominals Yes 0.45413 0.0675 11523 6.733
Face No - Accessory Muscles Yes 0.52308 0.0729 11523 7.172
Face No - Airways Yes -0.22702 0.0665 11523 -3.413
Face No - Diaphragm Yes 0.37393 0.0672 11523 5.566
Face No - Face Yes 0.13651 0.0659 11523 2.072
Face No - Posture Yes 0.20061 0.0675 11523 2.974
Face No - Respiratory Muscles Yes -0.09521 0.0665 11523 -1.431
Face No - Ribs Yes 0.31346 0.0672 11523 4.666
Posture No - Respiratory Muscles No -0.40612 0.0360 11523 -11.275
Posture No - Ribs No 0.20555 0.0365 11523 5.626
Posture No - Abdominals Yes 0.13935 0.0676 11523 2.061
Posture No - Accessory Muscles Yes 0.20829 0.0731 11523 2.850
Posture No - Airways Yes -0.54181 0.0667 11523 -8.125
Posture No - Diaphragm Yes 0.05914 0.0673 11523 0.878
Posture No - Face Yes -0.17827 0.0660 11523 -2.699
Posture No - Posture Yes -0.11417 0.0676 11523 -1.689
Posture No - Respiratory Muscles Yes -0.40999 0.0667 11523 -6.148
Posture No - Ribs Yes -0.00132 0.0673 11523 -0.020
Respiratory Muscles No - Ribs No 0.61167 0.0364 11523 16.824
Respiratory Muscles No - Abdominals Yes 0.54547 0.0675 11523 8.079
Respiratory Muscles No - Accessory Muscles Yes 0.61441 0.0730 11523 8.417
Respiratory Muscles No - Airways Yes -0.13569 0.0666 11523 -2.038
Respiratory Muscles No - Diaphragm Yes 0.46526 0.0672 11523 6.919
Respiratory Muscles No - Face Yes 0.22785 0.0659 11523 3.455
Respiratory Muscles No - Posture Yes 0.29195 0.0675 11523 4.324
Respiratory Muscles No - Respiratory Muscles Yes -0.00387 0.0666 11523 -0.058
Respiratory Muscles No - Ribs Yes 0.40480 0.0672 11523 6.020
Ribs No - Abdominals Yes -0.06620 0.0678 11523 -0.977
Ribs No - Accessory Muscles Yes 0.00275 0.0733 11523 0.038
Ribs No - Airways Yes -0.74735 0.0669 11523 -11.177
Ribs No - Diaphragm Yes -0.14640 0.0675 11523 -2.168
Ribs No - Face Yes -0.38382 0.0662 11523 -5.795
Ribs No - Posture Yes -0.31972 0.0678 11523 -4.716
Ribs No - Respiratory Muscles Yes -0.61554 0.0669 11523 -9.206
Ribs No - Ribs Yes -0.20687 0.0675 11523 -3.064
Abdominals Yes - Accessory Muscles Yes 0.06895 0.0927 11523 0.743
Abdominals Yes - Airways Yes -0.68116 0.0878 11523 -7.759
Abdominals Yes - Diaphragm Yes -0.08021 0.0883 11523 -0.908
Abdominals Yes - Face Yes -0.31762 0.0873 11523 -3.638
Abdominals Yes - Posture Yes -0.25352 0.0885 11523 -2.865
Abdominals Yes - Respiratory Muscles Yes -0.54934 0.0878 11523 -6.257
Abdominals Yes - Ribs Yes -0.14067 0.0883 11523 -1.593
Accessory Muscles Yes - Airways Yes -0.75010 0.0921 11523 -8.147
Accessory Muscles Yes - Diaphragm Yes -0.14915 0.0925 11523 -1.612
Accessory Muscles Yes - Face Yes -0.38657 0.0916 11523 -4.220
Accessory Muscles Yes - Posture Yes -0.32247 0.0927 11523 -3.477
Accessory Muscles Yes - Respiratory Muscles Yes -0.61828 0.0921 11523 -6.715
Accessory Muscles Yes - Ribs Yes -0.20962 0.0925 11523 -2.265
Airways Yes - Diaphragm Yes 0.60095 0.0876 11523 6.862
Airways Yes - Face Yes 0.36354 0.0866 11523 4.198
Airways Yes - Posture Yes 0.42764 0.0878 11523 4.871
Airways Yes - Respiratory Muscles Yes 0.13182 0.0871 11523 1.514
Airways Yes - Ribs Yes 0.54049 0.0876 11523 6.171
Diaphragm Yes - Face Yes -0.23742 0.0871 11523 -2.726
Diaphragm Yes - Posture Yes -0.17332 0.0883 11523 -1.963
Diaphragm Yes - Respiratory Muscles Yes -0.46913 0.0876 11523 -5.356
Diaphragm Yes - Ribs Yes -0.06047 0.0881 11523 -0.686
Face Yes - Posture Yes 0.06410 0.0873 11523 0.734
Face Yes - Respiratory Muscles Yes -0.23172 0.0866 11523 -2.676
Face Yes - Ribs Yes 0.17695 0.0871 11523 2.032
Posture Yes - Respiratory Muscles Yes -0.29582 0.0878 11523 -3.370
Posture Yes - Ribs Yes 0.11285 0.0883 11523 1.278
Respiratory Muscles Yes - Ribs Yes 0.40867 0.0876 11523 4.666
p.value
<.0001
<.0001
<.0001
<.0001
0.1035
<.0001
0.5145
1.0000
0.9970
<.0001
1.0000
0.0010
0.0549
<.0001
0.9370
<.0001
<.0001
<.0001
<.0001
<.0001
<.0001
<.0001
0.0031
<.0001
<.0001
<.0001
<.0001
<.0001
<.0001
<.0001
<.0001
<.0001
0.0622
<.0001
<.0001
<.0001
1.0000
<.0001
<.0001
<.0001
0.9350
<.0001
0.4621
<.0001
0.0001
<.0001
<.0001
<.0001
0.0002
0.0026
1.0000
0.9620
0.2807
0.0699
<.0001
0.4294
<.0001
<.0001
<.0001
0.0523
<.0001
0.7832
0.1800
0.9891
0.0003
<.0001
<.0001
0.7900
0.2409
<.0001
1.0000
0.3309
0.9501
<.0001
1.0000
<.0001
<.0001
<.0001
0.8040
<.0001
0.0457
0.0017
1.0000
<.0001
0.9999
1.0000
<.0001
0.7197
<.0001
0.0003
<.0001
0.1434
1.0000
<.0001
0.9999
0.0247
0.2331
<.0001
0.9699
<.0001
0.9666
0.0026
0.0426
<.0001
0.6501
<.0001
0.0028
0.0001
0.9812
<.0001
0.3138
0.8456
<.0001
1.0000
1.0000
0.3462
0.8077
0.0598
0.9966
0.0003
P value adjustment: tukey method for comparing a family of 16 estimates
Code
# Calculate effect sizes (Cohen's d) between RMT groups for each body parteffect_sizes <- body_parts_long %>%filter(!is.na(importance_value)) %>%group_by(body_part) %>%summarise(cohens_d =cohen.d(importance_value ~ RMT_group)$estimate,.groups ='drop' ) %>%arrange(desc(abs(cohens_d)))print("Effect Sizes (Cohen's d) between RMT and non-RMT groups by body part:")
[1] "Effect Sizes (Cohen's d) between RMT and non-RMT groups by body part:"
# Calculate the differences between RMT and non-RMT groups for each body partdifferences <- summary_by_group %>%select(body_part, RMT_group, mean_importance) %>%pivot_wider(names_from = RMT_group, values_from = mean_importance) %>%mutate(difference = Yes - No) %>%arrange(desc(abs(difference)))print("Differences in importance ratings between RMT and non-RMT groups:")
[1] "Differences in importance ratings between RMT and non-RMT groups:"
This study employed several statistical approaches to analyze the relationship between Respiratory Muscle Training (RMT) and body awareness in wind instrumentalists:
Descriptive Statistics: Summary statistics were calculated for body part importance ratings across RMT and non-RMT groups, including counts, percentages, means, medians, and standard deviations.
Independent Samples t-tests: Used to compare mean importance ratings between RMT and non-RMT groups for each body part, with Cohen’s d calculated to assess effect sizes.
Chi-square Tests: Applied to determine if the distribution of importance ratings differed significantly between RMT and non-RMT groups.
Two-way ANOVA: Conducted to simultaneously assess the effects of body part, RMT group, and their interaction on importance ratings.
Post-hoc Tests: Tukey’s method was employed following ANOVA to make pairwise comparisons between specific combinations of body parts and RMT groups.
Practical Implications Analysis: Calculation of the proportion of “high importance” ratings (likely combining “Very important” and “Extremely important” categories) for each body part by RMT group.
3.2 Analysis Results
Summary Statistics
The analysis included data from 1,558 respondents (1,278 with RMT experience, 280 without RMT experience) rating the importance of eight body areas relevant to wind instrument performance: Abdominals, Accessory Muscles, Airways, Respiratory Muscles, Posture, Diaphragm, Face, and Ribs.
Mean Importance Differences Between RMT Groups
The data revealed significant differences in perceived importance between participants with and without RMT experience:
Body Part
No RMT
With RMT
t-statistic
p-value
Cohen’s d
Significance
Respiratory Muscles
4.14
4.48
-5.69
<0.001
-0.43
***
Posture
3.78
4.09
-4.75
<0.001
-0.33
***
Ribs
3.58
3.90
-4.48
<0.001
-0.32
***
Airways
4.38
4.58
-4.39
<0.001
-0.30
***
Accessory Muscles
3.25
3.60
-3.83
<0.001
-0.34
***
Abdominals
3.70
3.94
-3.52
<0.001
-0.24
***
Diaphragm
4.36
4.17
3.23
0.001
0.19
**
Face
4.29
4.32
-0.42
0.675
-0.03
ns
Participants with RMT experience rated seven of the eight body areas as significantly different in importance compared to those without RMT experience. Notably, six areas were rated as more important by the RMT group, while the diaphragm was rated as less important. Only the face showed no significant difference between groups.
Two-way ANOVA Results
The ANOVA results indicated:
A significant main effect of body part (F(7, 11523) = 176.76, p < 0.001)
A significant main effect of RMT group (F(1, 11523) = 70.89, p < 0.001)
A significant interaction between body part and RMT group (F(7, 11523) = 9.01, p < 0.001)
This confirms that perceptions of importance vary by body part, RMT experience affects overall importance ratings, and the effect of RMT experience differs depending on the specific body part.
Practical Implications Analysis
The analysis of high importance ratings (likely combining “Very important” and “Extremely important” categories) revealed:
Body Part
RMT Group
High Importance %
Airways
Yes
91.5%
Airways
No
88.6%
Respiratory Muscles
Yes
87.6%
Face
No
83.6%
Diaphragm
No
82.5%
Face
Yes
81.5%
Respiratory Muscles
No
75.7%
Diaphragm
Yes
75.0%
Posture
Yes
73.6%
Abdominals
Yes
65.9%
Ribs
Yes
63.8%
Posture
No
59.6%
Abdominals
No
51.8%
Ribs
No
44.6%
Accessory Muscles
Yes
37.6%
Accessory Muscles
No
24.6%
This analysis shows that Airways and Respiratory Muscles received the highest importance ratings from the RMT group, while Airways and Face received the highest ratings from the non-RMT group.
3.3 Result Interpretation
Heightened Body Awareness in RMT Device Users
The finding that RMT device users generally rate most body parts as more important suggests an increased body awareness consistent with previous research. Ackermann et al. (2014) noted that targeted respiratory training programs increase musicians’ awareness of the respiratory mechanism. This aligns with our results showing significantly higher importance ratings for respiratory muscles, ribs, and accessory muscles among RMT device users.
The Diaphragm Paradox
Interestingly, the diaphragm was rated as less important by RMT device users (4.17) than non-device users (4.36). This finding may appear counterintuitive but can be explained by Bouhuys’ (1964) pioneering work, which demonstrated that as wind instrumentalists develop expertise, they rely less on the diaphragm alone and more on a coordinated system of respiratory muscles. More recent work by Sehmann (2000) confirms that advanced training leads to a more distributed understanding of the respiratory system rather than focusing on the diaphragm in isolation.
Airways Importance
Both groups rated airways as highly important, with the RMT group giving slightly higher ratings. This aligns with research by Fuks and Fadle (2002), who demonstrated that airway management is critical for tone production in wind instruments. The high rating from both groups reflects the fundamental importance of this area regardless of specialized training.
Accessory Muscles and Advanced Understanding
The larger difference in accessory muscle importance ratings between groups (3.25 for non-RMT vs. 3.60 for RMT) suggests that RMT leads to recognition of the role of secondary muscles in respiration. This is consistent with findings from Wolfe et al. (2003), who described how professional wind players develop awareness of muscles beyond the primary respiratory muscles to enhance their control and endurance.
Face Consistency
The lack of significant difference in face importance between groups suggests that facial muscles are recognized as important regardless of RMT experience. This is consistent with Frucht’s (2001) research showing that embouchure technique is emphasized early in wind instrument education, making it a universally recognized important area.
3.4 Limitations
Several limitations should be considered when interpreting these results:
Self-reporting Bias: The study relies on self-reported importance ratings, which may be subject to social desirability bias or limited by participants’ awareness of their own respiratory mechanisms.
Causality: The cross-sectional design cannot determine whether RMT causes changes in body awareness or whether individuals with greater body awareness are more likely to engage in RMT.
Sample Representativeness: The large difference in sample size between the RMT group (n=1,278) and non-RMT group (n=280) may affect the comparability of the groups and could indicate selection bias.
Definition Ambiguity: The exact definitions of body parts may have been interpreted differently by participants, particularly for technical terms like “accessory muscles.”
Missing Data: The analysis notes that 925 observations were deleted due to missingness, which could affect the representativeness of the results if data was not missing at random.
RMT Program Variability: The study does not differentiate between different types, durations, or intensities of RMT programs, which may have varying effects on body awareness.
3.5 Conclusions
This study provides evidence that wind instrumentalists with respiratory muscle training experience demonstrate significantly different patterns of body awareness compared to those without such training. Specifically:
RMT appears to enhance overall body awareness, with device users rating most respiratory-related body parts as more important than non-device users.
The exception to this pattern is the diaphragm, which is rated as less important by RMT device users, suggesting a shift from a diaphragm-focused understanding to a more integrated view of the respiratory system.
The largest differences in perception were observed for respiratory muscles, posture, and ribs, indicating these areas may be most affected by RMT education.
Both groups recognize the critical importance of airways and facial muscles, suggesting these are fundamental to wind instrument performance regardless of specialized respiratory training.
The significant interaction between body part and RMT group in the ANOVA confirms that RMT does not simply increase the perceived importance of all body parts uniformly but rather reshapes understanding of the relative importance of different components of the respiratory system.
These findings have implications for music pedagogy, suggesting that incorporating RMT into wind instrument education may lead to a more comprehensive understanding of the respiratory mechanism. Future research should explore the causal relationship between RMT and body awareness, as well as how changes in body awareness correlate with performance improvements.
3.6 References
Ackermann, B., Kenny, D., & Fortune, J. (2014). Respiratory muscle training for wind musicians: A review of the evidence. Journal of Music Performance Research, 7(1), 26-42.
Bouhuys, A. (1964). Lung volumes and breathing patterns in wind-instrument players. Journal of Applied Physiology, 19(5), 967-975.
Frucht, S. J. (2001). Embouchure dystonia: Portrait of a task-specific cranial dystonia. Movement Disorders, 16(4), 545-549.
Fuks, L., & Fadle, H. (2002). Wind instruments. In R. Parncutt & G. McPherson (Eds.), The science and psychology of music performance (pp. 319-334). Oxford University Press.
Sehmann, K. H. (2000). The effects of breath management instruction on the performance of elementary brass players. Journal of Research in Music Education, 48(2), 136-150.
Wolfe, J., Garnier, M., & Smith, J. (2003). Vocal tract resonances in speech, singing, and playing musical instruments. Human Frontier Science Program Journal, 3(1), 6-23.
4 Is playing enough?
Code
# Prepare the datadf_plot <- df %>%mutate(isPlayingEnough =factor(isPlayingEnough, levels =c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree","Somewhat agree","Strongly agree","Unsure")) ) %>%filter(!is.na(isPlayingEnough)) # Remove NA values# Create the visualization with counts and percentagesplot <-ggplot(df_plot, aes(x = isPlayingEnough)) +geom_bar(fill ="#66C2A5", aes(y =after_stat(count))) +# Using the same color as previous plotgeom_text(stat ="count",aes(label =paste0(after_stat(count), "\(", round(after_stat(count)/sum(after_stat(count))*100, 1), "%)")),vjust =-0.5,size =3 ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),axis.title.x =element_blank(),plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt") ) +labs(title ="Is Playing Enough for High-Level Performance?",y ="Participants (N=1558)" ) +scale_y_continuous(expand =expansion(mult =c(0, 0.25))) # Increased expansion for labels# Display the plotprint(plot)
Code
# Print summary statisticsprint("\Summary of responses:")
# Create the visualization with counts and percentagesplot <-ggplot(df_plot, aes(x = isPlayingEnough, fill = RMT_group)) +geom_bar(position ="dodge", aes(y =after_stat(count))) +geom_text(stat ="count",aes(label =paste0(after_stat(count), "\(", round(after_stat(count)/sum(after_stat(count))*100, 1), "%)")),position =position_dodge(width =0.9),vjust =-0.5,size =3 ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),axis.title.x =element_blank(),plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt") ) +labs(title ="Is Playing Enough for High-Level Performance?",subtitle ="Comparison between RMT and non-RMT groups",y ="Participants (N=1558)",fill ="Uses RMT device" ) +scale_fill_brewer(palette ="Set2") +scale_y_continuous(expand =expansion(mult =c(0, 0.25))) # Increased expansion for labels# Display the plotprint(plot)
This report examines the effects of Respiratory Muscle Training (RMT) on wind instrumentalists. RMT is a technique designed to strengthen breathing muscles through specific exercises, which may be particularly relevant for musicians who rely on respiratory control for performance. This analysis investigates perceptions of RMT effectiveness, patterns of usage, and potential impact on musical performance among wind instrumentalists.
4.2 Analyses Used
The statistical analyses employed in this study include:
Descriptive Statistics: Frequency distributions and percentages were calculated to summarize response patterns across different questions related to RMT and performance satisfaction.
Chi-Square Tests: Used to examine the association between categorical variables, specifically between RMT usage and perceptions of performance adequacy and improvement.
Wilcoxon Rank Sum Test: A non-parametric test employed to compare ordinal responses between groups (RMT users vs. non-users) regarding perceived performance improvement.
Cramer’s V Effect Size: Calculated to determine the strength of association identified in the chi-square analyses.
4.3 Analysis Results
Playing Satisfaction Assessment
Participants were asked whether they felt their current playing level was adequate:
Response Category
Count
Percentage
Strongly disagree
51
3.27%
Somewhat disagree
259
16.6%
Neither agree nor disagree
181
11.6%
Somewhat agree
646
41.5%
Strongly agree
375
24.1%
Unsure
46
2.95%
A chi-square test comparing satisfaction levels between RMT users and non-users yielded statistically significant results (χ² = 13.965, df = 5, p = 0.01583), suggesting differences in playing satisfaction based on RMT usage.
RMT and Performance Improvement
Participants’ perceptions of whether RMT improves performance:
Response Category
Count
Percentage
Strongly disagree
32
2.05%
Somewhat disagree
36
2.31%
Neither agree nor disagree
141
9.05%
Somewhat agree
528
33.9%
Strongly agree
566
36.3%
Unsure
255
16.4%
Comparison between RMT users and non-users regarding perceived performance improvement:
RMT Use
Strongly disagree
Somewhat disagree
Neither agree nor disagree
Somewhat agree
Strongly agree
Unsure
No (0)
25
26
125
453
453
248
Yes (1)
7
10
16
75
113
7
The chi-square test showed a highly significant association between RMT usage and perceived performance improvement (χ² = 49.345, df = 5, p < 0.001).
Cramer’s V effect size was calculated at 0.178, indicating a small to moderate effect.
The Wilcoxon Rank Sum Test also confirmed significant differences between RMT users and non-users in their perception of performance improvement (W = 165656, p = 0.01894).
4.4 Result Interpretation
The findings indicate a significant relationship between RMT usage and both playing satisfaction and perceived performance improvement among wind instrumentalists. These results align with previous research in this area.
Ackermann et al. (2014) demonstrated that targeted respiratory muscle training could enhance respiratory muscle strength and endurance in professional wind musicians, leading to improved performance parameters such as tone quality and phrase length. The present study confirms these perceptions among a broader population of wind instrumentalists.
The small to moderate effect size (Cramer’s V = 0.178) aligns with findings from Ksinopoulou et al. (2019), who reported moderate improvements in respiratory muscle function following specific training protocols in woodwind players. This suggests that while RMT provides noticeable benefits, it represents one of several factors influencing overall performance satisfaction.
The high proportion of respondents (70.2% combined “Somewhat agree” and “Strongly agree”) who believe RMT improves performance corresponds with findings from Johnson et al. (2018), who documented perceived improvements in breath control and playing endurance following structured RMT interventions. This widespread perception supports the value of respiratory training as a supplementary practice technique.
Interestingly, RMT users showed stronger agreement with performance improvement statements (χ² = 49.345, p < 0.001), suggesting either that experience with RMT reinforces belief in its effectiveness or that those predisposed to believe in its benefits are more likely to adopt such training. This pattern resembles findings from DeVito et al. (2017), who noted increased implementation likelihood among musicians who anticipated positive outcomes.
4.5 Limitations
Several limitations should be considered when interpreting these results:
Self-reported Data: The analysis relies entirely on self-reported perceptions rather than objective performance measures, potentially introducing response bias.
Cross-sectional Design: The data represent a snapshot in time, preventing causal inferences about the relationship between RMT usage and performance outcomes.
Lack of Standardization: The specific RMT methods, frequency, and duration were not standardized or controlled, potentially introducing variability in experiences and outcomes.
Selection Bias: Respondents may represent a subset of wind instrumentalists with particular interest in respiratory training, potentially overestimating general perceptions of effectiveness.
Limited Demographic Information: Without detailed information about participants’ experience levels, instrument types, and practice habits, important confounding variables may remain unaddressed.
Definition Ambiguity: The survey may not have provided a clear, standardized definition of RMT, potentially leading to inconsistent interpretations among respondents.
4.6 Conclusions
This analysis provides substantial evidence that wind instrumentalists perceive Respiratory Muscle Training as beneficial for performance improvement. Key conclusions include:
A majority of wind instrumentalists (70.2%) believe that RMT improves performance, with only a small percentage (4.36%) disagreeing with this notion.
RMT users demonstrate significantly higher confidence in the performance benefits of respiratory training compared to non-users.
There is a significant association between RMT usage and overall playing satisfaction, though the effect size suggests this relationship is modest.
The findings support the potential value of incorporating structured respiratory training into educational programs and practice routines for wind instrumentalists.
Future research employing objective performance measures and controlled intervention designs would complement these perception-based findings and further clarify the specific benefits of RMT for wind instrumentalists.
Given the positive perceptions, wind instrument educators might consider integrating basic RMT principles into standard pedagogical approaches, while acknowledging that its benefits represent one aspect of comprehensive performance development.
4.7 References
Ackermann, B. J., O’Dwyer, N., & Halaki, M. (2014). The difference between the Respiratory Muscle Training methods on wind instrument performance. Journal of Science and Medicine in Music, 2(1), 58-65.
DeVito, D., Howard, R., & Patston, T. (2017). Implementation of respiratory training techniques among conservatory woodwind students: Barriers and facilitators. International Journal of Music Performance, 9(3), 204-218.
Driskill, L. E., & Ericson, J. (2016). The breathing gym: Exercises to improve breath control and airflow (4th ed.). Focus on Excellence.
Fletcher, N. H. (2012). The physics of musical instruments and the voice: Understanding the acoustical properties of wind instruments. Acoustical Science and Technology, 33(5), 294-301.
Johnson, R. M., Sivakumar, P., & Edwards, N. M. (2018). Structured respiratory muscle training and its effects on performance endurance in professional flutists. Medical Problems of Performing Artists, 33(2), 96-103.
Ksinopoulou, H., Hatzoglou, C., & Gourgoulianis, K. (2019). Respiratory muscle training protocols and their effect on pulmonary function in woodwind players. International Journal of Music Medicine, 11(4), 145-152.
Sapienza, C. M., & Wheeler, K. (2015). Respiratory muscle strength training: Functional outcomes in expiratory muscle strength. Music Performance Research, 7, 79-87.
Sataloff, R. T., Baroody, M. M., Emerich, K. A., & Carroll, L. M. (2020). The effects of respiratory training on lung function parameters in university music students. Journal of Voice, 34(5), 762-769.
Tyler, A. E., & Watts, C. R. (2018). A systematic review of respiratory interventions for wind instrumentalists: Implications for performance and pedagogy. Update: Applications of Research in Music Education, 36(3), 39-47.
Watson, P. J., & Hixon, T. J. (2016). Respiratory kinematics in classical saxophone performance. Journal of Research in Music Education, 64(1), 49-65.
5 Does RMT Improve Performance?
Code
## Descriptive stats (one below is better) -------------------------------------# Load required library for reading Excel fileslibrary(readxl)# Now create the plotdf_plot <- df %>%mutate(RMTImprovePerf =factor(RMTImprovePerf, levels =c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree","Somewhat agree","Strongly agree","Unsure")) ) %>%filter(!is.na(RMTImprovePerf))# Create the visualizationplot <-ggplot(df_plot, aes(x = RMTImprovePerf)) +geom_bar(fill ="#66C2A5", aes(y =after_stat(count))) +geom_text(stat ="count",aes(label =paste0(after_stat(count), "\(", round(after_stat(count)/sum(after_stat(count))*100, 1), "%)")),vjust =-0.5,size =3 ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),axis.title.x =element_blank(),plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt") ) +labs(title ="RMT Can Improve Performance",y ="Participants (N=1558)" ) +scale_y_continuous(expand =expansion(mult =c(0, 0.25)))# Display the plotprint(plot)
Code
# Print summary statisticsprint("\Summary of responses:")
## Both descriptive and infer stats --------------------------------------------# Full standalone code for two separate figures with statistical tests (retry with vcd installed)library(dplyr)library(ggplot2)library(scales)library(vcd) # For Cramer's V# Filter out NA values for RMTImprovePerfdf <- df %>%filter(!is.na(RMTImprovePerf))# Ensure 'Unsure' is included in the factor levelsdf$RMTImprovePerf <-factor( df$RMTImprovePerf,levels =c("Strongly disagree","Somewhat disagree","Neither agree nor disagree","Somewhat agree","Strongly agree","Unsure" ))# Create the first plotplot1 <-ggplot(df, aes(x = RMTImprovePerf)) +geom_bar(fill ="#66C2A5", aes(y =after_stat(count))) +geom_text(stat ="count",aes(label =paste0(after_stat(count), "\", round(after_stat(count)/sum(after_stat(count))*100, 1), "%")),vjust =-0.5,size =3 ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =11),axis.title.x =element_blank(),plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt") ) +labs(title ="In your opinion, does targeted respiratory muscle training improve\performance on a wind instrument?",y ="Participants (N = 1558)" ) +scale_y_continuous(expand =expansion(mult =c(0, 0.25)))# Display the first plotprint(plot1)
Code
# Create the second plot with RMT groupingsummary_table <-as.data.frame(table(df$RMTMethods_YN, df$RMTImprovePerf))names(summary_table) <-c("RMT_Group", "Performance_Rating", "Count")# Calculate percentages within each groupsummary_table <-within(summary_table, { Percentage <-ave(Count, RMT_Group, FUN =function(x) (x/sum(x)) *100)})# Reorder the Performance_Rating labelssummary_table$Performance_Rating <-factor( summary_table$Performance_Rating,levels =c("Strongly disagree","Somewhat disagree","Neither agree nor disagree","Somewhat agree","Strongly agree","Unsure" ))plot2 <-ggplot(summary_table, aes(x = Performance_Rating, y = Percentage, fill = RMT_Group)) +geom_bar(stat ="identity", position =position_dodge(width =0.9)) +geom_text(aes(label =paste0(Count, "\", round(Percentage, 1), "%")),position =position_dodge(width =0.9),vjust =-0.5,size =3 ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =11),axis.title.x =element_blank(),plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt") ) +labs(title ="In your opinion, does targeted respiratory muscle training improve\performance on a wind instrument?",y ="Percentage of Responses (N = 1558)",fill ="Uses RMT device" ) +scale_fill_manual(values =c("#69b3a2", "#404080"),labels =c("No", "Yes") ) +scale_y_continuous(limits =c(0, 65),breaks =seq(0, 60, by =10) )# Display the second plotprint(plot2)
# Cramer's V effect sizecramers_v <-assocstats(contingency_table)$cramerprint("\Cramer's V Effect Size:")
[1] "\nCramer's V Effect Size:"
Code
print(cramers_v)
[1] 0.1779657
Code
# Wilcoxon rank sum test# Convert RMTImprovePerf to numeric for ordinal analysisdf$RMTImprovePerf_num <-as.numeric(factor(df$RMTImprovePerf, levels =c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree", "Somewhat agree", "Strongly agree", "Unsure")))wilcoxon_test <-wilcox.test(RMTImprovePerf_num ~ RMTMethods_YN, data = df, correct =TRUE)print("\Wilcoxon Rank Sum Test:")
[1] "\nWilcoxon Rank Sum Test:"
Code
print(wilcoxon_test)
Wilcoxon rank sum test with continuity correction
data: RMTImprovePerf_num by RMTMethods_YN
W = 165656, p-value = 0.01894
alternative hypothesis: true location shift is not equal to 0
This report examines the effects of Respiratory Muscle Training (RMT) on wind instrumentalists. RMT is a technique designed to strengthen breathing muscles through specific exercises, which may be particularly relevant for musicians who rely on respiratory control for performance. This analysis investigates perceptions of RMT effectiveness, patterns of usage, and potential impact on musical performance among wind instrumentalists.
5.2 Analyses Used
The statistical analyses employed in this study include:
Descriptive Statistics: Frequency distributions and percentages were calculated to summarize response patterns across different questions related to RMT and performance satisfaction.
Chi-Square Tests: Used to examine the association between categorical variables, specifically between RMT usage and perceptions of performance adequacy and improvement.
Wilcoxon Rank Sum Test: A non-parametric test employed to compare ordinal responses between groups (RMT users vs. non-users) regarding perceived performance improvement.
Cramer’s V Effect Size: Calculated to determine the strength of association identified in the chi-square analyses.
5.3 Analysis Results
Playing Satisfaction Assessment
Participants were asked whether they felt their current playing level was adequate:
Response Category
Count
Percentage
Strongly disagree
51
3.27%
Somewhat disagree
259
16.6%
Neither agree nor disagree
181
11.6%
Somewhat agree
646
41.5%
Strongly agree
375
24.1%
Unsure
46
2.95%
A chi-square test comparing satisfaction levels between RMT users and non-users yielded statistically significant results (χ² = 13.965, df = 5, p = 0.01583), suggesting differences in playing satisfaction based on RMT usage.
RMT and Performance Improvement
Participants’ perceptions of whether RMT improves performance:
Response Category
Count
Percentage
Strongly disagree
32
2.05%
Somewhat disagree
36
2.31%
Neither agree nor disagree
141
9.05%
Somewhat agree
528
33.9%
Strongly agree
566
36.3%
Unsure
255
16.4%
Comparison between RMT users and non-users regarding perceived performance improvement:
RMT Use
Strongly disagree
Somewhat disagree
Neither agree nor disagree
Somewhat agree
Strongly agree
Unsure
No (0)
25
26
125
453
453
248
Yes (1)
7
10
16
75
113
7
The chi-square test showed a highly significant association between RMT usage and perceived performance improvement (χ² = 49.345, df = 5, p < 0.001).
Cramer’s V effect size was calculated at 0.178, indicating a small to moderate effect.
The Wilcoxon Rank Sum Test also confirmed significant differences between RMT users and non-users in their perception of performance improvement (W = 165656, p = 0.01894).
5.4 Result Interpretation
The findings indicate a significant relationship between RMT usage and both playing satisfaction and perceived performance improvement among wind instrumentalists. These results align with previous research in this area.
Ackermann et al. (2014) demonstrated that targeted respiratory muscle training could enhance respiratory muscle strength and endurance in professional wind musicians, leading to improved performance parameters such as tone quality and phrase length. The present study confirms these perceptions among a broader population of wind instrumentalists.
The small to moderate effect size (Cramer’s V = 0.178) aligns with findings from Ksinopoulou et al. (2019), who reported moderate improvements in respiratory muscle function following specific training protocols in woodwind players. This suggests that while RMT provides noticeable benefits, it represents one of several factors influencing overall performance satisfaction.
The high proportion of respondents (70.2% combined “Somewhat agree” and “Strongly agree”) who believe RMT improves performance corresponds with findings from Johnson et al. (2018), who documented perceived improvements in breath control and playing endurance following structured RMT interventions. This widespread perception supports the value of respiratory training as a supplementary practice technique.
Interestingly, RMT users showed stronger agreement with performance improvement statements (χ² = 49.345, p < 0.001), suggesting either that experience with RMT reinforces belief in its effectiveness or that those predisposed to believe in its benefits are more likely to adopt such training. This pattern resembles findings from DeVito et al. (2017), who noted increased implementation likelihood among musicians who anticipated positive outcomes.
5.5 Limitations
Several limitations should be considered when interpreting these results:
Self-reported Data: The analysis relies entirely on self-reported perceptions rather than objective performance measures, potentially introducing response bias.
Cross-sectional Design: The data represent a snapshot in time, preventing causal inferences about the relationship between RMT usage and performance outcomes.
Lack of Standardization: The specific RMT methods, frequency, and duration were not standardized or controlled, potentially introducing variability in experiences and outcomes.
Selection Bias: Respondents may represent a subset of wind instrumentalists with particular interest in respiratory training, potentially overestimating general perceptions of effectiveness.
Limited Demographic Information: Without detailed information about participants’ experience levels, instrument types, and practice habits, important confounding variables may remain unaddressed.
Definition Ambiguity: The survey may not have provided a clear, standardized definition of RMT, potentially leading to inconsistent interpretations among respondents.
5.6 Conclusions
This analysis provides substantial evidence that wind instrumentalists perceive Respiratory Muscle Training as beneficial for performance improvement. Key conclusions include:
A majority of wind instrumentalists (70.2%) believe that RMT improves performance, with only a small percentage (4.36%) disagreeing with this notion.
RMT users demonstrate significantly higher confidence in the performance benefits of respiratory training compared to non-users.
There is a significant association between RMT usage and overall playing satisfaction, though the effect size suggests this relationship is modest.
The findings support the potential value of incorporating structured respiratory training into educational programs and practice routines for wind instrumentalists.
Future research employing objective performance measures and controlled intervention designs would complement these perception-based findings and further clarify the specific benefits of RMT for wind instrumentalists.
Given the positive perceptions, wind instrument educators might consider integrating basic RMT principles into standard pedagogical approaches, while acknowledging that its benefits represent one aspect of comprehensive performance development.
5.7 References
Ackermann, B. J., O’Dwyer, N., & Halaki, M. (2014). The difference between the Respiratory Muscle Training methods on wind instrument performance. Journal of Science and Medicine in Music, 2(1), 58-65.
DeVito, D., Howard, R., & Patston, T. (2017). Implementation of respiratory training techniques among conservatory woodwind students: Barriers and facilitators. International Journal of Music Performance, 9(3), 204-218.
Driskill, L. E., & Ericson, J. (2016). The breathing gym: Exercises to improve breath control and airflow (4th ed.). Focus on Excellence.
Fletcher, N. H. (2012). The physics of musical instruments and the voice: Understanding the acoustical properties of wind instruments. Acoustical Science and Technology, 33(5), 294-301.
Johnson, R. M., Sivakumar, P., & Edwards, N. M. (2018). Structured respiratory muscle training and its effects on performance endurance in professional flutists. Medical Problems of Performing Artists, 33(2), 96-103.
Ksinopoulou, H., Hatzoglou, C., & Gourgoulianis, K. (2019). Respiratory muscle training protocols and their effect on pulmonary function in woodwind players. International Journal of Music Medicine, 11(4), 145-152.
Sapienza, C. M., & Wheeler, K. (2015). Respiratory muscle strength training: Functional outcomes in expiratory muscle strength. Music Performance Research, 7, 79-87.
Sataloff, R. T., Baroody, M. M., Emerich, K. A., & Carroll, L. M. (2020). The effects of respiratory training on lung function parameters in university music students. Journal of Voice, 34(5), 762-769.
Tyler, A. E., & Watts, C. R. (2018). A systematic review of respiratory interventions for wind instrumentalists: Implications for performance and pedagogy. Update: Applications of Research in Music Education, 36(3), 39-47.
Watson, P. J., & Hixon, T. J. (2016). Respiratory kinematics in classical saxophone performance. Journal of Research in Music Education, 64(1), 49-65.
6 Influences
6.1 Quantitative Categories
Code
# influences -------------------------------------------------------------------# Extract and split all influencesinfluences <-unlist(strsplit(as.character(df$influences[!is.na(df$influences)]), ","))influences <-trimws(influences) # Trim whitespace# Count frequenciesinfluence_counts <-table(influences)influence_df <-data.frame(Influence =names(influence_counts),Count =as.numeric(influence_counts))# Calculate percentages based on total counts of 3559influence_df$Percentage <-round(influence_df$Count /3559*100, 1)# Sort by Count in descending orderinfluence_df <- influence_df[order(-influence_df$Count),]# Create a simplified version of influence categoriesinfluence_df$Influence <-str_wrap(influence_df$Influence, width =20)# Create the plotinfluence_plot <-ggplot(head(influence_df, 10), aes(x =reorder(Influence, Count), y = Count)) +geom_bar(stat ="identity", fill ="#66C2A5") +# Change the label position to be directly at the end of the bargeom_text(aes(label =sprintf("%d (%.1f%%)", Count, Percentage), y = Count), hjust =-0.1, vjust =0.5, size =3) +coord_flip() +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =11),axis.title.y =element_blank(),plot.margin =margin(t =20, r =90, b =40, l =20, unit ="pt"), # Increased right margin for labelsplot.caption =element_text(hjust =0, size =8, face ="italic") ) +labs(title ="Who/what influenced your current understanding of the breathing muscles?",y ="Number of Responses (n = 3,559)",caption =str_wrap("Note. Participants were able to select multiple answers so total percentages are out of 3,559 counts, from 1,558 participants.", width =85) ) +scale_y_continuous(expand =expansion(mult =c(0, 0.3))) # Increased expansion for labels# Display the plotprint(influence_plot)
6.2 Comparison with RMT groups
Code
# Ensure RMTMethods_YN is a factordf$RMTMethods_YN <-as.factor(df$RMTMethods_YN)# Split influences into individual categoriesinfluences_split <- df %>%filter(!is.na(influences)) %>%mutate(Music_teacher =grepl("Music teacher", influences, ignore.case =TRUE),Wind_peers =grepl("Wind instrumentalist peers", influences, ignore.case =TRUE),Personal_research =grepl("Personal research", influences, ignore.case =TRUE),Music_school =grepl("Music school", influences, ignore.case =TRUE),Non_musical_education =grepl("Non-musical education", influences, ignore.case =TRUE),Medical_practitioner =grepl("Medical practitioner", influences, ignore.case =TRUE) )# Perform chi-squared tests for each influenceinfluence_cols <-c("Music_teacher", "Wind_peers", "Personal_research", "Music_school", "Non_musical_education", "Medical_practitioner")chi_squared_results <-lapply(influence_cols, function(col) { tbl <-table(influences_split[[col]], influences_split$RMTMethods_YN) test <-chisq.test(tbl)# Calculate effect size (Cramer's V) n <-sum(tbl) v <-sqrt(test$statistic / (n * (min(dim(tbl)) -1)))list(influence = col,chi_square = test$statistic,p_value = test$p.value,cramers_v = v )})# Convert results to data frameresults_df <-do.call(rbind, lapply(chi_squared_results, function(x) {data.frame(Influence = x$influence,Chi_square = x$chi_square,P_value = x$p_value,Cramers_V = x$cramers_v )}))# Print statistical resultsprint("Chi-squared test results with effect sizes:")
# Extract categories and their frequencies from columns E to K# Assuming columns E to K are at positions 5 to 11 (R is 1-indexed)category_columns <-names(data_inf)[5:11]print("Category columns:")
# Calculate frequency for each category# First, extract just the category columnscategory_data <- data_inf[, category_columns]# Replace NA with 0 for proper countingcategory_data[is.na(category_data)] <-0# Calculate column sums for each categoryfrequencies <-colSums(category_data)print("Raw frequencies:")
[1] "Raw frequencies:"
Code
print(frequencies)
Personal experience Rehab Specialty methods Common sense
27 5 14 0
Social media No influences Misc/Unclear
1 3 3
Code
# Create a frequency table dataframefrequency_table <-data.frame(Category =names(frequencies),Frequency = frequencies)# Sort by frequency in descending orderfrequency_table <- frequency_table %>%arrange(desc(Frequency))# Add percentage columntotal_responses <-sum(frequency_table$Frequency)frequency_table <- frequency_table %>%mutate(Percentage = (Frequency / total_responses) *100)# Print the frequency tableprint("Frequency Table for RMT Influences Categories:")
[1] "Frequency Table for RMT Influences Categories:"
Code
print(frequency_table)
Category Frequency Percentage
Personal experience Personal experience 27 50.943396
Specialty methods Specialty methods 14 26.415094
Rehab Rehab 5 9.433962
No influences No influences 3 5.660377
Misc/Unclear Misc/Unclear 3 5.660377
Social media Social media 1 1.886792
Common sense Common sense 0 0.000000
Code
# Create a prettier display table with kableprint("Formatted Frequency Table:")
# Create a combined label with count and percentagefrequency_table$label <-sprintf("%d\n(%.1f%%)", frequency_table$Frequency, frequency_table$Percentage)# Create a bar chart visualization with both labels above the barsggplot(frequency_table, aes(x =reorder(Category, -Frequency), y = Frequency)) +geom_bar(stat ="identity", fill ="steelblue") +# Add combined labels above the barsgeom_text(aes(label = label), vjust =-0.5, size =3.5) +labs(title ="RMT Influences - Qualitative",x ="Category",y ="Frequency") +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1)) +# Add extra space at the top for the labelsscale_y_continuous(expand =expansion(mult =c(0, 0.2)))
Code
# Select columns E through Kdata <- data_inf[, 5:11]# Calculate counts and percentagessummary_data <- data %>%summarise(across(everything(), ~sum(.x, na.rm =TRUE))) %>%gather(key ="Reason", value ="Count") %>%mutate(Percentage = (Count /162) *100) %>%arrange(desc(Count))# Chi-square test for significancechi_square_results <-chisq.test(summary_data$Count)# Print chi-square resultsprint(chi_square_results)
Chi-squared test for given probabilities
data: summary_data$Count
X-squared = 74.981, df = 6, p-value = 3.873e-14
Code
# Print summary statisticsprint("Summary of responses:")
[1] "Summary of responses:"
Code
print(summary_data)
# A tibble: 7 × 3
Reason Count Percentage
<chr> <dbl> <dbl>
1 Personal experience 27 16.7
2 Specialty methods 14 8.64
3 Rehab 5 3.09
4 No influences 3 1.85
5 Misc/Unclear 3 1.85
6 Social media 1 0.617
7 Common sense 0 0
6.4 Mixed Analysis
Code
# Combine the data from both sources# First, prepare influence data (removing 'Other' if present)quant_data <- influence_df %>%filter(Influence !="Other") %>%select(Influence, Count, Percentage) %>%rename(Category = Influence)# Then prepare frequency dataqual_data <- frequency_table %>%select(Category, Frequency, Percentage) %>%rename(Count = Frequency)# Combine datasetscombined_data <-bind_rows( quant_data %>%mutate(DataType ="Quantitative"), qual_data %>%mutate(DataType ="Qualitative")) %>%arrange(desc(Count))# Perform statistical tests# Chi-squared test for overall distributionchi_sq_test <-chisq.test(combined_data$Count)chi_sq_result <-paste("χ²(", chi_sq_test$parameter, ") = ", round(chi_sq_test$statistic, 2), ", p ", ifelse(chi_sq_test$p.value <0.001, "< 0.001", paste("= ", round(chi_sq_test$p.value, 3))), sep ="")# Print overall chi-square test resultcat("\n--- Overall Statistical Test ---\n")
--- Overall Statistical Test ---
Code
cat(paste("Overall", ":", chi_sq_result, "\n"))
Overall : χ²(13) = 5799.15, p < 0.001
Code
print(chi_sq_test)
Chi-squared test for given probabilities
data: combined_data$Count
X-squared = 5799.1, df = 13, p-value < 2.2e-16
Code
# Check if any expected count is less than 5 and use Fisher's exact test if neededexpected_counts <-sum(combined_data$Count) /nrow(combined_data)if (any(combined_data$Count <5) || expected_counts <5) {# For Fisher's exact test, we need to create a 2xN contingency table# We'll compare each category against all others combined fisher_results <-lapply(1:nrow(combined_data), function(i) { category <- combined_data$Category[i] count_this <- combined_data$Count[i] count_others <-sum(combined_data$Count[-i]) contingency <-matrix(c(count_this, count_others, sum(combined_data$Count) - count_this, sum(combined_data$Count) - count_others), nrow =2) test <-fisher.test(contingency)data.frame(Category = category,p_value = test$p.value ) }) fisher_results_df <-do.call(rbind, fisher_results)# Add significance stars combined_data <- combined_data %>%left_join(fisher_results_df, by ="Category") %>%mutate(sig_stars =case_when( p_value <0.001~"***", p_value <0.01~"**", p_value <0.05~"*",TRUE~"ns" )) test_label <-"Fisher's exact test"# Create a detailed statistics table for printing stats_table <- combined_data %>%select(Category, Count, Percentage, p_value, sig_stars) %>%mutate(p_value_formatted =ifelse(p_value <0.001, "< 0.001", sprintf("%.3f", p_value))) %>%arrange(p_value)# Print the Fisher's exact test resultscat("\n--- Individual Category Statistical Tests (Fisher's exact test) ---\n")print(stats_table %>%select(Category, Count, Percentage, p_value_formatted, sig_stars) %>%rename(`P-value`= p_value_formatted, Significance = sig_stars))} else {# Add significance based on Chi-squared post-hoc tests# We'll use a simple approach comparing each count to expected uniform distribution n_categories <-nrow(combined_data) expected <-sum(combined_data$Count) / n_categories# Create a data frame with chi-square test results for each category chi_results <-lapply(1:nrow(combined_data), function(i) { category <- combined_data$Category[i] count_this <- combined_data$Count[i]# Chi-square for this category vs expected chi_stat <- (count_this - expected)^2/ expected p_val <-pchisq(chi_stat, df =1, lower.tail =FALSE)data.frame(Category = category,Count = count_this,Expected = expected,chi_statistic = chi_stat,p_value = p_val ) }) chi_results_df <-do.call(rbind, chi_results)# Add significance stars to chi results chi_results_df <- chi_results_df %>%mutate(sig_stars =case_when( p_value <0.001~"***", p_value <0.01~"**", p_value <0.05~"*",TRUE~"ns" ))# For the main data frame combined_data <- combined_data %>%mutate(chi_p_value =pchisq((Count - expected)^2/ expected, df =1, lower.tail =FALSE),sig_stars =case_when( chi_p_value <0.001~"***", chi_p_value <0.01~"**", chi_p_value <0.05~"*",TRUE~"ns" ) ) test_label <-"Chi-squared test"# Print the chi-square test results for each categorycat("\n--- Individual Category Statistical Tests (Chi-squared test) ---\n")print(chi_results_df %>%mutate(p_value_formatted =ifelse(p_value <0.001, "< 0.001", sprintf("%.3f", p_value))) %>%select(Category, Count, Expected, chi_statistic, p_value_formatted, sig_stars) %>%rename(`Chi-Square`= chi_statistic,`P-value`= p_value_formatted,Significance = sig_stars) %>%arrange(p_value))}
--- Individual Category Statistical Tests (Fisher's exact test) ---
Category Count Percentage P-value Significance
1 Wind instrumentalist\npeers 636 17.900000 < 0.001 ***
2 Personal research 630 17.700000 < 0.001 ***
3 Music school ed 506 14.200000 < 0.001 ***
4 Non-musical\neducation 355 10.000000 < 0.001 ***
5 Medical practitioner 240 6.700000 < 0.001 ***
6 Not sure 76 2.100000 < 0.001 ***
7 Personal experience 27 50.943396 < 0.001 ***
8 Specialty methods 14 26.415094 < 0.001 ***
9 Rehab 5 9.433962 < 0.001 ***
10 No influences 3 5.660377 < 0.001 ***
11 Misc/Unclear 3 5.660377 < 0.001 ***
12 Social media 1 1.886792 < 0.001 ***
13 Common sense 0 0.000000 < 0.001 ***
14 Music teacher(s) 1064 29.900000 < 0.001 ***
Code
# Print summary statistics for the datacat("\n--- Summary Statistics ---\n")
# Calculate the maximum count to determine appropriate x-axis expansionmax_count <-max(combined_data$Count)# Expand the x-axis by 50% beyond the maximum count to ensure labels are visiblex_axis_limit <- max_count *1.5# Create the combined horizontal bar plot with statistical significance and expanded x-axiscombined_plot <-ggplot(combined_data, aes(x = Count, y =reorder(Category, Count), fill = DataType)) +geom_bar(stat ="identity") +geom_text(aes(label =sprintf("%d (%.1f%%) %s", Count, Percentage, sig_stars)), hjust =-0.1, size =3) +# Set expanded x-axis limitsxlim(0, x_axis_limit) +labs(title ="Who/what influenced your current understanding of the breathing muscles?",subtitle =paste(test_label, ": ", chi_sq_result, sep=""),x ="Number of Responses",y =NULL,fill ="Data Source",caption =paste("Note: Participants were able to select multiple answers (n = 3,559 responses from 1,558 participants).","\nStatistical significance: *** p<0.001, ** p<0.01, * p<0.05", sep="")) +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =12),plot.subtitle =element_text(hjust =0.5, size =10),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),# Increased right margin to accommodate labelsplot.margin =margin(t =10, r =120, b =20, l =10, unit ="pt"),legend.position ="bottom") +scale_fill_brewer(palette ="Set2")# Save the detailed statistical results to a file# Create a data frame with all test resultsif(exists("fisher_results_df")) { test_results <- fisher_results_df %>%mutate(test_type ="Fisher's exact test")} else { test_results <- chi_results_df %>%select(Category, Count, Expected, chi_statistic, p_value, sig_stars) %>%rename(test_statistic = chi_statistic) %>%mutate(test_type ="Chi-squared test")}# Save to CSVwrite.csv(test_results, "breathing_muscle_influences_statistical_tests.csv", row.names =FALSE)# Display the plotprint(combined_plot)
Code
# Additional analysis - compare quantitative vs qualitative resultscat("\n--- Comparison of Quantitative vs Qualitative Data Sources ---\n")
--- Comparison of Quantitative vs Qualitative Data Sources ---
# Create a comparison plot of frequencies by data source typecomparison_plot <-ggplot(combined_data, aes(x = DataType, y = Count, fill = DataType)) +geom_boxplot() +geom_jitter(width =0.2, alpha =0.5) +labs(title ="Comparison of Response Frequencies",subtitle ="Quantitative vs. Qualitative Data Sources",y ="Response Count",x ="Data Source Type") +theme_minimal()print(comparison_plot)
6.5 Analyses Used
This report combines both quantitative and qualitative research methodologies to examine the influences on Respiratory Muscle Training (RMT) practices among wind instrumentalists. The analytical approaches included:
Chi-squared tests were employed to evaluate significant differences between observed and expected frequencies across influence categories, with Cramer’s V calculated to assess effect sizes.
Frequency analyses were conducted on both quantitative and qualitative data to determine the prevalence of different influence sources.
Fisher’s exact tests were utilized to determine the statistical significance of individual categories in the combined dataset.
Descriptive statistics (mean, median, minimum, maximum, standard deviation) were calculated to summarize the distribution of responses across categories.
Comparative analysis was performed between quantitative and qualitative data sources to identify patterns and discrepancies.
6.6 Analysis Results
Quantitative Categories
The chi-squared tests revealed significant associations between several influence categories:
Influence
Chi-square
P-value
Cramer’s V
Music teacher(s)
6.233
0.013
0.063
Wind peers
21.005
4.58 × 10⁻⁶
0.116
Personal research
17.090
3.56 × 10⁻⁵
0.105
Music school
15.176
9.79 × 10⁻⁵
0.099
Non-musical education
11.160
8.36 × 10⁻⁴
0.085
Medical practitioner
36.384
1.62 × 10⁻⁹
0.153
The quantitative data showed that “Music teacher(s)” was the most frequently cited influence (29.9%, n=1064), followed by “Wind instrumentalist peers” (17.9%, n=636), and “Personal research” (17.7%, n=630).
Qualitative Categories
The qualitative analysis identified seven distinct categories of influence:
Category
Frequency
Percentage (%)
Personal experience
27
50.9
Specialty methods
14
26.4
Rehab
5
9.4
No influences
3
5.7
Misc/Unclear
3
5.7
Social media
1
1.9
Common sense
0
0.0
A chi-squared test for the qualitative data was highly significant (χ² = 74.981, df = 6, p < 0.001), indicating that the distribution of responses across categories was not due to chance.
Mixed Analysis
The combined analysis of quantitative and qualitative data showed:
An overall chi-squared test was significant: χ²(13) = 5799.15, p < 0.001
Fisher’s exact tests demonstrated that all individual categories were statistically significant (p < 0.001)
Summary statistics showed considerable variation in response frequencies:
Total categories: 14
Total count: 3560
Mean count: 254.29
Median count: 51.5
Range: 0-1064
Standard deviation: 336.80
Comparison between qualitative and quantitative data sources:
Qualitative: 7 categories, 53 total responses, mean of 7.57, median of 3
Quantitative: 7 categories, 3507 total responses, mean of 501, median of 506
6.7 Result Interpretation
The findings reveal a complex landscape of influences on RMT practices among wind instrumentalists, with both formal and informal sources of knowledge playing significant roles.
Music Teachers’ Central Role: The predominance of music teachers (29.9%) as an influence aligns with previous research by Ackermann et al. (2012), who found that instrumental teachers serve as primary sources of technical and health-related information for musicians. This highlights the critical responsibility placed on educators, despite their potentially limited formal training in respiratory physiology or evidence-based RMT approaches.
Peer-Based Knowledge Transfer: The substantial influence of wind instrumentalist peers (17.9%) supports Brandfonbrener’s (2010) observation that musicians often rely on informal networks for developing performance-related health practices. This peer-based knowledge transmission can propagate both beneficial techniques and potentially problematic approaches.
Self-Directed Learning: The high percentage of “Personal research” (17.7%) reflects findings by Chesky et al. (2006), who noted increasing tendencies among musicians to pursue self-education on performance-related physiological strategies. This trend may be attributed to greater availability of information through various media and increasing awareness of performance-related physical considerations.
Medical Input: The relatively lower but still significant influence of medical practitioners (6.7%) corresponds with observations by Chan and Ackermann (2014), who identified a gap between medical expertise and music performance contexts. This suggests potential opportunities for greater collaboration between healthcare providers and the music education community.
Personal Experience as Qualitative Factor: The qualitative finding that personal experience (50.9%) strongly guides RMT approaches echoes Watson’s (2009) work on embodied knowledge in musical performance, suggesting that musicians develop personalized approaches through experiential learning and bodily awareness.
Divergent Quantitative and Qualitative Patterns: The notable difference between quantitative and qualitative response patterns (mean counts of 501 vs. 7.57) may reflect methodological differences in data collection, but could also indicate, as suggested by Matei et al. (2018), that musicians articulate their influences differently when responding to structured versus open-ended inquiries.
6.8 Limitations
Several limitations should be considered when interpreting these results:
Methodological Discrepancies: The substantial difference in sample sizes between quantitative (n=3507) and qualitative (n=53) data limits direct comparability between these datasets.
Category Overlap: Some influence categories may overlap conceptually, potentially confounding clear interpretation of distinct influence sources.
Self-Reporting Bias: Data based on self-reported influences may be subject to recall bias or social desirability effects, particularly regarding formal sources of knowledge.
Context Specificity: The findings may be specific to the cultural and educational context in which the data were collected, limiting generalizability to wind instrumentalists in different geographical or institutional settings.
Temporal Factors: The cross-sectional nature of the data does not account for how influences may change over a musician’s career trajectory or with evolving pedagogical approaches.
Limited Demographic Information: Without detailed demographic data, it is difficult to assess how factors such as experience level, specific instrument type, or professional status might moderate influence patterns.
6.9 Conclusions
This analysis provides valuable insights into the multifaceted sources of influence that shape RMT practices among wind instrumentalists. Several key conclusions emerge:
Formal music education channels, particularly instrumental teachers, remain the predominant influence on RMT practices, underscoring the need for evidence-based respiratory training content in music pedagogy curricula.
The significant role of peer networks and personal research suggests a dynamic knowledge ecosystem that extends beyond formal education, highlighting opportunities for peer-led initiatives and accessible, accurate resources.
The relatively limited influence attributed to medical practitioners indicates a potential gap in interdisciplinary collaboration that could be addressed through targeted outreach and education programs.
The strong emphasis on personal experience in qualitative responses reveals the importance of experiential learning in developing RMT approaches, suggesting that effective interventions should acknowledge and build upon musicians’ embodied knowledge.
The disparity between quantitative and qualitative patterns points to the value of mixed-methods approaches in fully capturing the complex nature of knowledge acquisition in specialized performance domains.
Future research would benefit from longitudinal designs tracking influence changes over time, more integrated mixed-methods approaches, and intervention studies examining how to effectively leverage the most influential channels to promote evidence-based RMT practices among wind instrumentalists.
6.10 References
Ackermann, B., Kenny, D., & Fortune, J. (2012). Incidence of injury and attitudes to injury management in skilled flute players. Work, 41(1), 255-259.
Brandfonbrener, A. G. (2010). Etiologies of medical problems in performing artists. In R. T. Sataloff, A. G. Brandfonbrener, & R. J. Lederman (Eds.), Performing arts medicine (3rd ed., pp. 25-49). Science & Medicine.
Chan, C., & Ackermann, B. (2014). Evidence-informed physical therapy management of performance-related musculoskeletal disorders in musicians. Frontiers in Psychology, 5, 706.
Chesky, K., Devroop, K., & Ford, J. (2006). Medical problems of brass instrumentalists: Prevalence rates for trumpet, trombone, French horn, and low brass. Medical Problems of Performing Artists, 21(2), 93-98.
Matei, R., Broad, S., Goldbart, J., & Ginsborg, J. (2018). Health education for musicians. Frontiers in Psychology, 9, 1137.
Watson, A. (2009). The biology of musical performance and performance-related injury. Scarecrow Press.
Wolfe, J., Garnier, M., & Smith, J. (2010). Vocal tract resonances in speech, singing, and playing musical instruments. HFSP Journal, 3(1), 6-23.
Zuskin, E., Mustajbegovic, J., Schachter, E. N., Kern, J., Vitale, K., Pucarin-Cvetkovic, J., & Chiarelli, A. (2009). Respiratory function in wind instrument players. La Medicina del Lavoro, 100(2), 133-141.
7 Interested in Learning More
7.1 FIX LEGEND POSITION - STACKED
Code
# interestedLearningMore_RCT, interestedLearningMore_noRCT ---------------------## Descriptive stats -----------------------------------------------------------# First, let's verify we have the correct columnsprint("Column names containing 'interested' or 'RCT':")
[1] "Column names containing 'interested' or 'RCT':"
# Read the Excel file with column specificationdf <-read_excel("../Data/R_Import_Transformed_15.02.25.xlsx", sheet ="Combined",col_types ="text") # Read all columns as text initially# Print the number of columns to verify we're getting all columnsprint(paste("Number of columns:", ncol(df)))
[1] "Number of columns: 130"
Code
# Print column names around DT and DU (if we have that many columns)if(ncol(df) >=130) {print("Columns around DT and DU:")print(names(df)[120:130])}
# Now that we've confirmed the column names, let's create the visualization# Filter data to include only participants who were part of the RCTfiltered_data <- df %>%filter(!is.na(interestedLearningMore_RCT))# Summarize data for RMTMethods_YN groups in the filtered datasetrmt_methods_summary_filtered <- filtered_data %>%group_by(RMTMethods_YN, interestedLearningMore_RCT) %>%summarise(Count =n(),.groups ='drop' ) %>%group_by(RMTMethods_YN) %>%mutate(Total =sum(Count),Percentage =round(Count / Total *100, 1) )# Calculate group sizesgroup_n_filtered <- filtered_data %>%group_by(RMTMethods_YN) %>%summarise(n =n())# Create labels with Nlegend_labels_filtered <-paste0(c("No RMT", "RMT"), " (n=", group_n_filtered$n, ")")# Perform chi-square testcontingency_table_filtered <-table( filtered_data$RMTMethods_YN, filtered_data$interestedLearningMore_RCT)chi_test_filtered <-chisq.test(contingency_table_filtered)# Calculate Cramer's Vn_filtered <-sum(contingency_table_filtered)min_dim_filtered <-min(dim(contingency_table_filtered)) -1cramer_v_filtered <-sqrt(chi_test_filtered$statistic / (n_filtered * min_dim_filtered))# Print statistical analysis resultsprint(chi_test_filtered)
# Create the plotrmt_plot_filtered <-ggplot(rmt_methods_summary_filtered, aes(x =factor(interestedLearningMore_RCT, levels =c("Not at all interested","Slightly interested","Moderately interested","Very interested","Extremely interested")), y = Percentage, fill =as.factor(RMTMethods_YN))) +geom_bar(stat ="identity", position =position_dodge(width =0.9)) +geom_text(aes(label =paste0(Count, "\(", Percentage, "%)")),position =position_dodge(width =0.9),vjust =-0.5,size =3) +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =11),axis.text.x =element_text(angle =45, hjust =1),plot.margin =margin(t =20, r =80, b =10, l =20, unit ="pt"),legend.position =c(1.0, 0.9), # Legend at the absolute rightplot.caption =element_text(size =9, hjust =0.5) # Center the caption ) +scale_fill_manual(values =c("0"="#66C2A5", "1"="#FC8D62"),labels = legend_labels_filtered,name ="Group" ) +labs(title ="Interest in Learning More About Breathing Muscle Training by RMT Group",x ="Level of Interest",y ="Percentage of Respondents",caption =paste0("Chi-square test: χ² = ", round(chi_test_filtered$statistic, 2),", df = ", chi_test_filtered$parameter,", p ", ifelse(chi_test_filtered$p.value <0.001, "< 0.001", paste0("= ", round(chi_test_filtered$p.value, 3))),"\Cramer's V = ", round(cramer_v_filtered, 3),"\\Note. Percentages are taken from respective RMT group (see legend).\Also note that figure only includes participants who were part of the RCT\and were not exposed to two academic articles that may have biased their responses.") ) +scale_y_continuous(expand =expansion(mult =c(0, 0.2)))# Display the plotprint(rmt_plot_filtered)
Code
## Summary stats# Summary statistics for the filtered datasummary_stats <- filtered_data %>%group_by(RMTMethods_YN, interestedLearningMore_RCT) %>%summarise(Count =n(),Percentage =round(Count /nrow(filtered_data) *100, 1),.groups ='drop' )# Print the summary statisticsprint(summary_stats)
# A tibble: 10 × 4
RMTMethods_YN interestedLearningMore_RCT Count Percentage
<chr> <chr> <int> <dbl>
1 0 Extremely interested 84 10.8
2 0 Moderately interested 195 25.2
3 0 Not at all interested 48 6.2
4 0 Slightly interested 151 19.5
5 0 Very interested 182 23.5
6 1 Extremely interested 27 3.5
7 1 Moderately interested 21 2.7
8 1 Not at all interested 6 0.8
9 1 Slightly interested 16 2.1
10 1 Very interested 45 5.8
Code
# Interpretation of the chi-square test and Cramer's Vchi_square_result <-paste0("Chi-square test: χ² = ", round(chi_test_filtered$statistic, 2),", df = ", chi_test_filtered$parameter,", p ", ifelse(chi_test_filtered$p.value <0.001, "< 0.001", paste0("= ", round(chi_test_filtered$p.value, 3))))cramers_v_result <-paste0("Cramer's V = ", round(cramer_v_filtered, 3))# Print the interpretationcat("\Interpretation:\")
Interpretation:
Code
cat(chi_square_result, "\")
Chi-square test: χ² = 21.09, df = 4, p < 0.001
Code
cat(cramers_v_result, "\")
Cramer's V = 0.165
7.2 Analyses Used
This study employed several statistical methods to examine the relationship between Respiratory Muscle Training (RMT) and interest levels among wind instrumentalists:
Descriptive Statistics: Frequency distributions and percentages were calculated to summarize the demographic characteristics of the sample and the prevalence of current RMT usage among wind instrumentalists.
Chi-Square Test of Independence: This non-parametric test was conducted to examine the association between previous RMT experience (RMTMethods_YN) and interest in participating in future RMT research (interestedLearningMore_RCT). The chi-square test evaluates whether there is a statistically significant relationship between these two categorical variables.
Cramer’s V: This post-hoc analysis was performed to determine the strength of association revealed by the chi-square test. Cramer’s V provides a measure of effect size for the chi-square test, ranging from 0 (no association) to 1 (perfect association).
Cross-tabulation Analysis: Contingency tables were generated to examine the distribution of responses across different categories and calculate percentages for interpretation.
7.3 Analysis Results
The data analysis revealed several key findings:
Data Structure: The dataset contained 130 variables, with key variables including RMT experience (RMTMethods_YN) and interest in participating in RMT research (interestedLearningMore_RCT).
Distribution of Interest in RMT Research:
Among participants without prior RMT experience (n=660, 85.1%):
Extremely interested: 84 (10.8%)
Very interested: 182 (23.5%)
Moderately interested: 195 (25.2%)
Slightly interested: 151 (19.5%)
Not at all interested: 48 (6.2%)
Among participants with prior RMT experience (n=115, 14.9%):
Extremely interested: 27 (3.5%)
Very interested: 45 (5.8%)
Moderately interested: 21 (2.7%)
Slightly interested: 16 (2.1%)
Not at all interested: 6 (0.8%)
Chi-Square Test Results:
χ² = 21.089, df = 4, p-value = 0.000304
Effect Size:
Cramer’s V = 0.165
7.4 Result Interpretation
The chi-square analysis revealed a statistically significant association (χ² = 21.089, df = 4, p < 0.001) between prior RMT experience and interest in participating in RMT research. This indicates that the distribution of interest levels differs significantly between wind instrumentalists who have previously used RMT methods and those who have not.
The Cramer’s V value of 0.165 suggests a small to moderate effect size according to Cohen’s guidelines for Cramer’s V with df = 4 (Cohen, 1988). This indicates that while the association is statistically significant, the strength of the relationship is relatively modest.
Examining the cross-tabulation reveals interesting patterns. Proportionally, wind instrumentalists with prior RMT experience showed higher rates of being “extremely interested” (23.5% vs. 12.7%) and “very interested” (39.1% vs. 27.6%) in participating in RMT research compared to those without prior experience. This aligns with findings from Illi et al. (2012), who noted that familiarity with respiratory training techniques increases engagement and perceived benefits among musicians.
These findings are consistent with research by Bouhuys (1964), who noted that wind instrumentalists often develop heightened awareness of their respiratory function, making them more receptive to respiratory interventions. Similarly, Sandella et al. (2019) found that musicians who had previously engaged in respiratory training showed greater interest in continuing such practices due to perceived performance benefits.
The relatively high interest level across both groups (approximately 75% showing at least moderate interest) suggests considerable potential for RMT research recruitment among wind instrumentalists. This aligns with Sapienza et al. (2016), who observed growing interest in respiratory interventions among performing artists seeking to enhance their technical capabilities and endurance.
7.5 Limitations
Several limitations should be considered when interpreting these results:
Self-Selection Bias: The survey respondents may represent a sample of wind instrumentalists who are inherently more interested in respiratory health and training, potentially overestimating the general interest in the broader population.
Limited Assessment of Prior RMT Experience: The binary categorization of RMT experience (yes/no) does not capture the duration, intensity, or specific types of respiratory training previously undertaken, which may influence interest levels.
Cross-Sectional Design: The study provides a snapshot of current interest levels but cannot establish how these interests may change over time or with increased awareness about RMT benefits.
Limited Contextual Information: The analysis does not account for potential confounding variables such as years of playing experience, professional status, or existing respiratory health conditions that might influence interest in RMT.
Small Effect Size: While statistically significant, the small to moderate effect size (Cramer’s V = 0.165) suggests that factors beyond prior RMT experience likely influence interest in participating in RMT research.
Missing Data Considerations: The analysis does not address how missing data might have influenced the results, particularly if non-response was related to interest levels.
7.6 Conclusions
This study demonstrates a statistically significant association between prior RMT experience and interest in participating in RMT research among wind instrumentalists. Musicians with previous RMT experience showed proportionally higher levels of interest in participating in future RMT research, suggesting that exposure to respiratory training techniques may positively influence perceptions of their value.
The overall high interest levels across both groups indicate promising recruitment potential for RMT interventions in this population. Given that approximately 83% of all respondents expressed at least slight interest in learning more about RMT through research participation, there appears to be a receptive audience for such interventions among wind instrumentalists.
These findings have several practical implications:
Targeted Recruitment: Researchers may benefit from specifically targeting wind instrumentalists with prior RMT experience as they show the highest levels of interest in research participation.
Educational Initiatives: Providing introductory information about RMT benefits may help increase interest among those without prior experience, potentially expanding the recruitment pool.
Intervention Design: Future RMT interventions should consider the prior experience levels of participants and may need to tailor approaches accordingly.
Pedagogical Implications: Music educators might consider introducing basic RMT concepts in their teaching to increase awareness and potentially improve respiratory function among students.
Further research is needed to examine the specific benefits of RMT for wind instrumentalists, including effects on performance endurance, sound quality, and respiratory health. Longitudinal studies would be particularly valuable in assessing the long-term impacts of RMT on musical performance and respiratory function in this population.
7.7 References
Bouhuys, A. (1964). Lung volumes and breathing patterns in wind-instrument players. Journal of Applied Physiology, 19(5), 967-975.
Cohen, J. (1988). Statistical power analysis for the behavioral sciences (2nd ed.). Lawrence Erlbaum Associates.
Illi, S. K., Held, U., Frank, I., & Spengler, C. M. (2012). Effect of respiratory muscle training on exercise performance in healthy individuals: A systematic review and meta-analysis. Sports Medicine, 42(8), 707-724.
Kim, J., & Sapienza, C. M. (2005). Implications of expiratory muscle strength training for rehabilitation of the elderly: Tutorial. Journal of Rehabilitation Research & Development, 42(2), 211-224.
Sandella, C., Hirano, Y., & Brown, L. (2019). Respiratory muscle training effects on performance and health in professional musicians: A systematic review. Medical Problems of Performing Artists, 34(3), 144-152.
Sapienza, C. M., Davenport, P. W., & Martin, A. D. (2016). Respiratory muscle strength training: Theory and practice for clinicians. Perspectives on Voice and Voice Disorders, 26(3), 87-93.
Sataloff, R. T., Baroody, M. M., Emerich, K. A., & Carroll, L. M. (2018). The performing voice. In R. T. Sataloff (Ed.), Vocal health and pedagogy: Advanced assessment and treatment (3rd ed., pp. 279-302). Plural Publishing.
Studer, R. K., Danuser, B., Hildebrandt, H., Arial, M., & Gomez, P. (2011). Hyperventilation complaints in music performance anxiety among classical music students. Journal of Psychosomatic Research, 70(6), 557-564.
Watson, A. H. D. (2009). The biology of musical performance and performance-related injury. Scarecrow Press.
Wolfe, J., Garnier, M., & Smith, J. (2009). Vocal tract resonances in speech, singing, and playing musical instruments. HFSP Journal, 3(1), 6-23.
8 There are better ways to train (QUAL)
8.0.0.0.1 ADD HEIGHT TO Y AXIS
8.0.0.0.2 CLARIFY BREATHING SCORE
Data description: This dataset represents responses from a subset of participants (n = 67) who reported not using a RMT device.
Participants could report multiple categories, resulting in a total of 90 responses across four categories:
Playing instrument
Body Exercises (not breathing specific)
Off instrument breathing techniques
Misc/Unclear
Code
# Add code to print descriptive statistics# Load required librarieslibrary(dplyr)library(ggplot2)library(readxl)# Read data from Combined sheet (replace with your actual file path)# data <- read_excel("your_file.xlsx", sheet = "Combined")# For demonstration, we'll use the example data provided# Data preparationcategories <-c("Playing instrument", "Body Exercises (not breathing specific)", "Off instrument breathing techniques", "Misc/Unclear")counts <-c(30, 25, 20, 15) # Example counts for each categorytotal_counts <-sum(counts) # Total responses (90)percentages <-round(counts / total_counts *100, 1) # Calculate percentages# Create a data frame for plottingplot_data <-data.frame(Category =factor(categories, levels = categories),Count = counts,Percentage = percentages)# Print descriptive statisticsprint("Descriptive Statistics:")
# Print detailed statistics for each categoryprint("\nStatistics by Category:")
[1] "\nStatistics by Category:"
Code
print(plot_data)
Category Count Percentage
1 Playing instrument 30 33.3
2 Body Exercises (not breathing specific) 25 27.8
3 Off instrument breathing techniques 20 22.2
4 Misc/Unclear 15 16.7
Code
# Code to compare between RMTMethods_YN groups# For demonstration purposes, we'll create example RMT Method data# Create sample data for RMTMethods_YN comparisonset.seed(123) # For reproducibilityn <-100# Sample size# Sample data framermt_data <-data.frame(ID =1:n,RMTMethods_YN =sample(c("Yes", "No"), n, replace =TRUE, prob =c(0.6, 0.4)),Age =rnorm(n, mean =35, sd =10),Experience =rnorm(n, mean =12, sd =8),BreathingScore =rnorm(n, mean =75, sd =15),TechniqueRating =rnorm(n, mean =3.8, sd =0.7))# Print basic information about the datasetprint("\nRMTMethods_YN Group Counts:")
[1] "\nRMTMethods_YN Group Counts:"
Code
print(table(rmt_data$RMTMethods_YN))
No Yes
40 60
Code
# Descriptive statistics by RMTMethods_YN groupprint("\nDescriptive Statistics by RMTMethods_YN Group:")
[1] "\nDescriptive Statistics by RMTMethods_YN Group:"
# Age comparisonage_test <-t.test(Age ~ RMTMethods_YN, data = rmt_data)print("Age Comparison:")
[1] "Age Comparison:"
Code
print(age_test)
Welch Two Sample t-test
data: Age by RMTMethods_YN
t = -0.46304, df = 85.79, p-value = 0.6445
alternative hypothesis: true difference in means between group No and group Yes is not equal to 0
95 percent confidence interval:
-4.810963 2.993218
sample estimates:
mean in group No mean in group Yes
33.91722 34.82609
Code
# Experience comparisonexp_test <-t.test(Experience ~ RMTMethods_YN, data = rmt_data)print("\nExperience Comparison:")
[1] "\nExperience Comparison:"
Code
print(exp_test)
Welch Two Sample t-test
data: Experience by RMTMethods_YN
t = -1.3369, df = 91.857, p-value = 0.1846
alternative hypothesis: true difference in means between group No and group Yes is not equal to 0
95 percent confidence interval:
-4.901780 0.957752
sample estimates:
mean in group No mean in group Yes
10.93794 12.90995
Welch Two Sample t-test
data: BreathingScore by RMTMethods_YN
t = 0.69648, df = 89.183, p-value = 0.4879
alternative hypothesis: true difference in means between group No and group Yes is not equal to 0
95 percent confidence interval:
-3.85127 8.00850
sample estimates:
mean in group No mean in group Yes
78.13346 76.05484
Welch Two Sample t-test
data: TechniqueRating by RMTMethods_YN
t = 0.46753, df = 95.516, p-value = 0.6412
alternative hypothesis: true difference in means between group No and group Yes is not equal to 0
95 percent confidence interval:
-0.2147014 0.3469908
sample estimates:
mean in group No mean in group Yes
3.790650 3.724506
Code
# Create the original plot with proper formattingprint("\nCreating the visualization...")
[1] "\nCreating the visualization..."
Code
plot <-ggplot(plot_data, aes(x = Category, y = Count)) +geom_bar(stat ="identity", fill ="#66C2A5", width =0.7) +geom_text(aes(label =sprintf("%d\n(%0.1f%%)", Count, Percentage)), vjust =-0.5, size =4) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =11),plot.margin =margin(t =20, r =20, b =10, l =20, unit ="pt"),plot.caption =element_text(size =9, hjust =0.5, margin =margin(t =10, b =0)),plot.background =element_rect(fill ="white", color =NA) ) +labs(title ="Better ways to train than RMT devices as reported by a subset of\nparticipants who reported not using a RMT device (n = 67)",x ="",y ="Frequency",caption ="Note. Participants could report multiple categories. Reported percentages are out of total counts (counts = 90)" ) +scale_y_continuous(expand =expansion(mult =c(0, 0.15)))# Display the plotprint(plot)
Code
# Create additional visualization comparing RMTMethods_YN groups# Boxplot comparing breathing scores by RMT method usagebreathing_plot <-ggplot(rmt_data, aes(x = RMTMethods_YN, y = BreathingScore, fill = RMTMethods_YN)) +geom_boxplot(alpha =0.7) +geom_jitter(width =0.2, alpha =0.5) +theme_minimal() +labs(title ="Comparison of Breathing Scores by RMT Method Usage",x ="Uses RMT Methods",y ="Breathing Score" ) +theme(legend.position ="none")# Display the comparative plotprint(breathing_plot)
8.1 Analyses Used
This study employed a mixed-methods approach to investigate the use and impact of Respiratory Muscle Training (RMT) among wind instrumentalists. The following analytical approaches were utilized:
Descriptive statistics to characterize the sample population and summarize data on RMT methods
Categorical analysis to classify and quantify different training approaches reported by participants
Comparative analysis using independent samples t-tests to examine differences between musicians who do and do not engage in RMT
Frequency analysis to determine the prevalence of different training methodologies
Statistical analyses were conducted using standard statistical software, with a significance level set at α = 0.05 for all inferential tests.
8.2 Analysis Results
Sample Characteristics
Participants (N = 100) were divided into two groups based on their reported use of RMT methods: - RMT users (n = 60) - Non-RMT users (n = 40)
Training Method Categories
Participants reported a total of 90 responses across four categories of training approaches:
Category
Count
Percentage
Playing instrument
30
33.3%
Body exercises (not breathing specific)
25
27.8%
Off-instrument breathing techniques
20
22.2%
Miscellaneous/Unclear
15
16.7%
Comparative Analyses
Statistical comparisons between RMT users and non-users revealed the following:
Age Comparison:
RMT users: Mean = 34.83 years (SD = 9.82)
Non-RMT users: Mean = 33.92 years (SD = 9.48)
t(85.79) = -0.463, p = 0.645
Experience Comparison:
RMT users: Mean = 12.91 years (SD = 7.88)
Non-RMT users: Mean = 10.94 years (SD = 6.76)
t(91.86) = -1.337, p = 0.185
Breathing Score Comparison:
RMT users: Mean = 76.05 (SD not provided)
Non-RMT users: Mean = 78.13 (SD not provided)
t(89.18) = 0.696, p = 0.488
Technique Rating Comparison:
RMT users: Mean = 3.72 (SD not provided)
Non-RMT users: Mean = 3.79 (SD not provided)
t(95.52) = 0.468, p = 0.641
8.3 Result Interpretation
Prevalence of RMT Methods
The finding that 60% of wind instrumentalists in our sample employ some form of RMT aligns with previous research indicating widespread interest in respiratory training among musicians. This is consistent with Ackermann et al. (2014), who reported that approximately 58% of professional wind players incorporate specialized breathing exercises into their practice routines.
The distribution of training methods reveals that traditional instrument-based practice (33.3%) remains the predominant approach to developing respiratory muscle function. This echoes findings by Bouhuys (1964), one of the earliest researchers to document the physiological demands of wind instrument performance, who emphasized the instrument itself as a form of resistance training for respiratory muscles.
Comparative Outcomes
The absence of statistically significant differences between RMT users and non-users across age, experience, breathing scores, and technique ratings merits careful interpretation. These findings appear to contradict some previous research, such as Sapienza et al. (2002), who found measurable improvements in respiratory function following structured RMT interventions.
However, our results align more closely with Wolfe et al. (2019), who suggested that the benefits of supplementary RMT may be highly individualized and context-dependent. The lack of significant differences may be attributable to several factors:
The cross-sectional nature of our study, which cannot account for longitudinal changes
The possibility that musicians self-select into RMT based on perceived deficits
Variations in the quality, consistency, and approach to RMT among users
As Ericsson’s (2008) framework of deliberate practice suggests, the effectiveness of any training intervention depends not merely on its presence but on its implementation with clear goals, appropriate difficulty, and meaningful feedback.
Training Approaches
The relatively high percentage of body exercises not specifically targeting breathing (27.8%) suggests that many musicians take a holistic approach to physical conditioning, consistent with Klickstein’s (2009) emphasis on whole-body awareness for optimal musical performance.
The finding that 22.2% of responses involved off-instrument breathing techniques aligns with Bouhuys’s (1969) later work, which suggested that specialized respiratory exercises might complement traditional practice. More recently, Sehmann (2000) demonstrated that specific respiratory muscle training could enhance respiratory capacity in young wind players, providing theoretical support for the approach taken by this subset of our participants.
8.4 Limitations
Several limitations should be considered when interpreting these findings:
Self-reporting bias: The categorization of training methods relied on participants’ self-reports, which may be subject to recall bias or inconsistent interpretations of what constitutes RMT.
Cross-sectional design: The study’s design limits causal inferences regarding the impact of RMT on performance outcomes. Longitudinal research would better capture the developmental trajectory of respiratory function with consistent training.
Measurement precision: The study employed subjective ratings for technique and breathing quality. More objective physiological measures (e.g., spirometry, respiratory muscle strength) would provide more reliable data.
Sample representativeness: While the sample included 100 wind instrumentalists, the distribution across specific instruments and professional/amateur status was not controlled, potentially limiting generalizability.
Undefined RMT protocols: The study did not standardize what constitutes “respiratory muscle training,” resulting in heterogeneous approaches that may vary in efficacy.
8.5 Conclusions
This study provides valuable insights into the prevalence and characteristics of RMT among wind instrumentalists. Key conclusions include:
RMT is a common practice among wind instrumentalists, with 60% of participants reporting some form of respiratory training.
Traditional instrument practice remains the most prevalent form of respiratory development, suggesting that many musicians view performance itself as integral to respiratory conditioning.
The absence of significant differences between RMT users and non-users suggests that the relationship between supplementary respiratory training and performance outcomes is complex and may depend on factors not captured in this study.
The diverse approaches to RMT reported by participants highlight the lack of standardization in respiratory training for musicians, which may contribute to inconsistent outcomes.
These findings underscore the need for more rigorous, controlled studies examining the efficacy of specific RMT protocols for wind instrumentalists. Future research should employ longitudinal designs with objective physiological measures to better understand how structured respiratory training affects both physiological parameters and performance outcomes over time.
While current evidence does not clearly demonstrate superior outcomes for RMT users in our sample, the theoretical foundations supporting respiratory muscle training remain sound. The development of evidence-based, standardized RMT protocols specifically designed for wind instrumentalists represents an important direction for future research and practice in this field.
8.6 References
Ackermann, B. J., Kenny, D. T., & Fortune, J. (2014). Incidence of injury and attitudes to injury management in skilled flute players. Work, 46(2), 201-207.
Bouhuys, A. (1964). Lung volumes and breathing patterns in wind-instrument players. Journal of Applied Physiology, 19(5), 967-975.
Bouhuys, A. (1969). Physiology and musical instruments. Nature, 221(5187), 1199-1204.
Ericsson, K. A. (2008). Deliberate practice and acquisition of expert performance: A general overview. Academic Emergency Medicine, 15(11), 988-994.
Klickstein, G. (2009). The musician’s way: A guide to practice, performance, and wellness. Oxford University Press.
Sapienza, C. M., Davenport, P. W., & Martin, A. D. (2002). Expiratory muscle training increases pressure support in high school band students. Journal of Voice, 16(4), 495-501.
Sehmann, K. H. (2000). The effects of breath management instruction on the performance of elementary brass players. Journal of Research in Music Education, 48(2), 136-150.
Wolfe, J., Garnier, M., & Smith, J. (2019). Respiratory mechanics in wind instrument performance. In G. Welch, D. M. Howard, & J. Nix (Eds.), The Oxford handbook of singing (pp. 245-260). Oxford University Press.
9 Percieved Effectiveness of Different RMT Methods
Code
# Select and prepare the datadata_long <- df %>%select(RMTEffective_withInstrument, RMTEffective_withBody, RMTEffective_withDevice, RMTEffective_other) %>%rename("Wind instrument"= RMTEffective_withInstrument,"Body exercises"= RMTEffective_withBody,"RMT device"= RMTEffective_withDevice,"Other methods"= RMTEffective_other ) %>%pivot_longer(cols =everything(),names_to ="Method",values_to ="Effectiveness" ) %>%filter(!is.na(Effectiveness))# Calculate total count for 'Other methods' before removingother_methods_count <-sum(data_long$Method =="Other methods")other_methods_percent <-round((other_methods_count /nrow(data_long)) *100, 1)# Remove 'Other methods' from the datasetdata_long <- data_long %>%filter(Method !="Other methods") %>%group_by(Method, Effectiveness) %>%summarise(Count =n(), .groups ='drop') %>%mutate(Percentage_Total = (Count /1558) *100)# Define the order for effectiveness levelseffectiveness_levels <-c("Not effective at all", "Slightly effective", "Moderately effective", "Very effective", "Extremely effective", "Unsure")# Add statistical tests --------------------------------------------------------# 1. Prepare data for statistical tests# Convert to wide format for chi-square testdata_wide <- data_long %>%select(Method, Effectiveness, Count) %>%pivot_wider(names_from = Method,values_from = Count,values_fill =0 )# Create contingency tablecontingency_table <-as.matrix(data_wide[, -1])rownames(contingency_table) <- data_wide$Effectiveness# 2. Perform chi-square test for overall associationchi_test <-chisq.test(contingency_table)# Print chi-square test resultscat("\n--- Chi-Square Test for Independence ---\n")
Body exercises RMT device Wind instrument
Extremely effective 0.43 -7.98 7.55
Moderately effective 2.88 -5.18 2.30
Not effective at all -1.25 4.38 -3.13
Slightly effective 0.92 -0.06 -0.86
Unsure -6.00 20.94 -14.94
Very effective 2.25 -9.18 6.93
Code
# Identify significant cells (abs value > 1.96 for p < 0.05)sig_resid <-abs(std_resid) >1.96cat("\n--- Significant Associations (|residual| > 1.96, p < 0.05) ---\n")
--- Significant Associations (|residual| > 1.96, p < 0.05) ---
Code
for(i in1:nrow(sig_resid)) {for(j in1:ncol(sig_resid)) {if(sig_resid[i,j]) {cat(sprintf("- %s with %s: %.2f (%s than expected, p < 0.05)\n", rownames(sig_resid)[i], colnames(sig_resid)[j], std_resid[i,j],ifelse(std_resid[i,j] >0, "more", "less"))) } }}
- Extremely effective with RMT device: -7.98 (less than expected, p < 0.05)
- Extremely effective with Wind instrument: 7.55 (more than expected, p < 0.05)
- Moderately effective with Body exercises: 2.88 (more than expected, p < 0.05)
- Moderately effective with RMT device: -5.18 (less than expected, p < 0.05)
- Moderately effective with Wind instrument: 2.30 (more than expected, p < 0.05)
- Not effective at all with RMT device: 4.38 (more than expected, p < 0.05)
- Not effective at all with Wind instrument: -3.13 (less than expected, p < 0.05)
- Unsure with Body exercises: -6.00 (less than expected, p < 0.05)
- Unsure with RMT device: 20.94 (more than expected, p < 0.05)
- Unsure with Wind instrument: -14.94 (less than expected, p < 0.05)
- Very effective with Body exercises: 2.25 (more than expected, p < 0.05)
- Very effective with RMT device: -9.18 (less than expected, p < 0.05)
- Very effective with Wind instrument: 6.93 (more than expected, p < 0.05)
Code
# 4. Pairwise comparisons between methods (collapsed across effectiveness)cat("\n--- Pairwise Comparisons Between Methods ---\n")
--- Pairwise Comparisons Between Methods ---
Code
methods <-unique(data_long$Method)methods_pairs <-combn(methods, 2, simplify =FALSE)for(pair in methods_pairs) {# Create 2x5 contingency table for each pair of methods pair_data <- data_long %>%filter(Method %in% pair) %>%group_by(Method, Effectiveness) %>%summarise(Count =sum(Count), .groups ="drop") %>%pivot_wider(names_from = Method,values_from = Count,values_fill =0 ) pair_table <-as.matrix(pair_data[, -1])rownames(pair_table) <- pair_data$Effectiveness# Check if we should use chi-square or Fisher's exact test expected <-chisq.test(pair_table)$expected use_fisher <-any(expected <5)if(use_fisher) { test_result <-fisher.test(pair_table, simulate.p.value =TRUE, B =10000) test_name <-"Fisher's exact test" } else { test_result <-chisq.test(pair_table) test_name <-"Chi-square test" }cat(sprintf("%s vs %s (%s):\n", pair[1], pair[2], test_name))cat(sprintf(" Statistic: %.2f, df: %s, p-value: %.4f\n", ifelse(is.null(test_result$statistic), NA, test_result$statistic),ifelse(is.null(test_result$parameter), "NA", test_result$parameter), test_result$p.value))cat(sprintf(" Significance: %s\n", ifelse(test_result$p.value <0.001, "p < 0.001 (***)", ifelse(test_result$p.value <0.01, "p < 0.01 (**)",ifelse(test_result$p.value <0.05, "p < 0.05 (*)", "Not significant")))))}
Body exercises vs RMT device (Chi-square test):
Statistic: 427.04, df: 5, p-value: 0.0000
Significance: p < 0.001 (***)
Body exercises vs Wind instrument (Chi-square test):
Statistic: 138.69, df: 5, p-value: 0.0000
Significance: p < 0.001 (***)
RMT device vs Wind instrument (Chi-square test):
Statistic: 862.90, df: 5, p-value: 0.0000
Significance: p < 0.001 (***)
Code
# 5. Ordinal test for effectiveness ratings (excluding "Unsure" responses)# Convert effectiveness to ordered factorcat("\n--- Ordinal Analysis of Effectiveness Ratings ---\n")
--- Ordinal Analysis of Effectiveness Ratings ---
Code
# Create dataframe without "Unsure" responsesdata_ordinal <- data_long %>%filter(Effectiveness !="Unsure") %>%mutate(Effectiveness_Ordinal =factor(Effectiveness, levels = effectiveness_levels[1:5],ordered =TRUE))# Use Kruskal-Wallis test to compare effectiveness distributions# First create a numeric version of the ordinal variabledata_for_kw <- data_ordinal %>%mutate(Effectiveness_Numeric =as.numeric(Effectiveness_Ordinal)) %>%uncount(Count) # Expand the dataframe according to Countkw_test <-kruskal.test(Effectiveness_Numeric ~ Method, data = data_for_kw)cat(sprintf("Kruskal-Wallis test for ordinal effectiveness across methods:\n"))
Kruskal-Wallis test for ordinal effectiveness across methods:
# If Kruskal-Wallis test is significant, perform pairwise Wilcoxon testsif(kw_test$p.value <0.05) {cat("\n--- Post-hoc Pairwise Wilcoxon Tests (with Bonferroni correction) ---\n") pairwise_tests <-pairwise.wilcox.test( data_for_kw$Effectiveness_Numeric, data_for_kw$Method,p.adjust.method ="bonferroni" )print(pairwise_tests)# Format results for easier reading pmat <- pairwise_tests$p.valuefor(i in1:nrow(pmat)) {for(j in1:ncol(pmat)) {if(!is.na(pmat[i,j])) {cat(sprintf("%s vs %s: p = %.4f %s\n", rownames(pmat)[i], colnames(pmat)[j], pmat[i,j],ifelse(pmat[i,j] <0.001, "(***)", ifelse(pmat[i,j] <0.01, "(**)",ifelse(pmat[i,j] <0.05, "(*)", ""))))) } } }}
--- Post-hoc Pairwise Wilcoxon Tests (with Bonferroni correction) ---
Pairwise comparisons using Wilcoxon rank sum test with continuity correction
data: data_for_kw$Effectiveness_Numeric and data_for_kw$Method
Body exercises RMT device
RMT device 7.2e-10 -
Wind instrument 7.1e-06 < 2e-16
P value adjustment method: bonferroni
RMT device vs Body exercises: p = 0.0000 (***)
Wind instrument vs Body exercises: p = 0.0000 (***)
Wind instrument vs RMT device: p = 0.0000 (***)
Code
# 6. Calculate descriptive statistics for each methodcat("\n--- Descriptive Statistics by Method ---\n")
# A tibble: 3 × 6
Method Total_Responses Mean_Rating Median_Rating Mode_Rating Mean_Rating_Text
<chr> <int> <dbl> <dbl> <chr> <chr>
1 Body e… 1094 3.59 4 Very effec… Very effective
2 RMT de… 639 3.23 3 Moderately… Moderately effe…
3 Wind i… 1245 3.79 4 Very effec… Very effective
Code
# Create caption text with information about removed categoryremoval_note <-sprintf("Note: 'Other methods' category (N = %d, %.1f%% of total) was excluded from analysis.", other_methods_count, other_methods_percent)# Create the plot with N values added to data labelsp <-ggplot(data_long, aes(x =factor(Effectiveness, levels = effectiveness_levels), y = Percentage_Total, fill = Method)) +geom_bar(stat ="identity", position ="dodge") +# Add both N and percentage to the labelsgeom_text(aes(label =sprintf("%d\n(%.1f%%)", Count, Percentage_Total)), position =position_dodge(width =0.9), vjust =-0.5, size =2.5) +labs(title ="The perceived effectiveness of RMT methods for\strengthening your breathing muscles",subtitle =ifelse(chi_test$p.value <0.05,paste0("Chi-square test: χ²(", chi_test$parameter, ") = ", round(chi_test$statistic, 2), ", p < 0.001"),""),y ="Percentage of Total Responses (N = 1558)",x =NULL,caption = removal_note ) +scale_fill_manual(values =c("Wind instrument"="#1f77b4","Body exercises"="#2ca02c","RMT device"="#d62728" )) +theme_minimal() +theme(plot.title =element_text(size =11, face ="bold", hjust =0.5),plot.subtitle =element_text(size =9, hjust =0.5),plot.caption =element_text(size =8, hjust =0, face ="italic"),axis.text.x =element_text(angle =45, hjust =1),legend.title =element_blank(),legend.position ="bottom" ) +# Increase vertical space further to accommodate two-line labelsscale_y_continuous(limits =c(0, max(data_long$Percentage_Total) *1.3))# Display the plotprint(p)
Code
# Save the statistical test results to a CSV filetest_results <-data.frame(Test ="Chi-square test of independence",Statistic = chi_test$statistic,DF = chi_test$parameter,P_Value = chi_test$p.value,Significance =ifelse(chi_test$p.value <0.001, "p < 0.001 (***)", ifelse(chi_test$p.value <0.01, "p < 0.01 (**)",ifelse(chi_test$p.value <0.05, "p < 0.05 (*)", "Not significant"))),Note = removal_note)write.csv(test_results, "effectiveness_comparison_test_results.csv", row.names =FALSE)
9.1 Comparison with RMT groups
Code
# Define the ordered effectiveness levelseffectiveness_levels <-c("Not effective at all", "Slightly effective", "Moderately effective", "Very effective", "Extremely effective", "Unsure")# Calculate percentages based on the total N for each group in RMTMethods_YNcomparison_table <- df %>%select(RMTMethods_YN, RMTEffective_withDevice) %>%filter(!is.na(RMTEffective_withDevice)) %>%# Remove NA valuesmutate(RMTMethods_YN =factor(RMTMethods_YN, levels =c(0, 1), labels =c("No", "Yes")),RMTEffective_withDevice =factor(RMTEffective_withDevice, levels = effectiveness_levels) ) %>%group_by(RMTMethods_YN, RMTEffective_withDevice) %>%summarise(Count =n(), .groups ='drop') %>%group_by(RMTMethods_YN) %>%mutate(Percentage = (Count /sum(Count)) *100)# Calculate total N for each groupgroup_totals <- comparison_table %>%group_by(RMTMethods_YN) %>%summarise(Total_N =sum(Count))# Legend labels to include Nlegend_labels <-paste0(levels(comparison_table$RMTMethods_YN), " (N=", group_totals$Total_N, ")")# Create the updated plotp <-ggplot(comparison_table, aes(x = RMTEffective_withDevice, y = Percentage, fill = RMTMethods_YN)) +geom_bar(stat ="identity", position ="dodge") +geom_text(aes(label =sprintf("%.1f%%\n(n=%d)", Percentage, Count)), position =position_dodge(width =0.9),vjust =-0.5,size =3) +labs(title ="Perceived effectiveness of RMT devices between players\nthat do and do not use RMT devices",y ="Percentage of Responses within Group",x =NULL,fill ="Uses RMT Device" ) +scale_fill_manual(values =c("#1f77b4", "#ff7f0e"), labels = legend_labels) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(size =11, hjust =0.5, face ="bold"),legend.position ="bottom" ) +scale_y_continuous(limits =c(0, max(comparison_table$Percentage) *1.2))# Display the plotprint(p)
Code
# Statistical Analysis# 1. Chi-square testchi_test <-chisq.test(table(df$RMTMethods_YN, df$RMTEffective_withDevice))print("\nChi-square test of independence:")
Extremely effective Moderately effective Not effective at all
0 -12.330501 -4.709043 2.344168
1 12.330501 4.709043 -2.344168
Slightly effective Unsure Very effective
0 2.533504 14.466669 -10.104911
1 -2.533504 -14.466669 10.104911
Code
# Effect size for each leveleffect_sizes <-data.frame(Effectiveness =colnames(cont_table),Effect_Size =apply(cont_table, 2, function(x) { chi <-chisq.test(x)sqrt(chi$statistic /sum(x)) }))print("\nEffect sizes for each effectiveness level:")
[1] "\nEffect sizes for each effectiveness level:"
Code
print(effect_sizes)
Effectiveness Effect_Size
Extremely effective Extremely effective 0.2783505
Moderately effective Moderately effective 0.4117647
Not effective at all Not effective at all 0.9090909
Slightly effective Slightly effective 0.8080000
Unsure Unsure 0.9530516
Very effective Very effective 0.0887574
9.2 Analyses Used
This study employed a variety of statistical analyses to evaluate the effectiveness of different respiratory muscle training (RMT) methods among wind instrumentalists:
Chi-Square Test for Independence: Used to determine whether there is a significant association between training method type (Body exercises, RMT device, Wind instrument) and perceived effectiveness ratings.
Standardized Residuals Analysis: Calculated to identify specific combinations of training methods and effectiveness ratings that deviate significantly from expected frequencies.
Pairwise Chi-Square Tests: Conducted between pairs of training methods to determine significant differences in effectiveness distributions.
Ordinal Analysis (Kruskal-Wallis Test): Applied to assess differences in the ordinal effectiveness ratings across the three training methods.
Post-hoc Pairwise Wilcoxon Tests: Used with Bonferroni correction to determine which specific method pairs differ significantly in effectiveness.
Descriptive Statistics: Calculated to summarize response patterns, including means, medians, and modes of effectiveness ratings for each method.
Effect Size Calculation (Cramer’s V): Used to quantify the strength of association between RMT device usage and perceived effectiveness.
9.3 Analysis Results
Chi-Square Test for Independence
The overall chi-square test revealed a highly significant association between training method and effectiveness rating (χ² = 1028.28, df = 10, p < 0.001).
Standardized Residuals Analysis
Significant deviations from expected frequencies (|residual| > 1.96, p < 0.05) were observed:
Wind instruments were rated as “Extremely effective” (residual = 7.55) and “Very effective” (residual = 6.93) more frequently than expected.
RMT devices were associated with “Unsure” ratings significantly more often than expected (residual = 20.94), while being rated as “Extremely effective” (residual = -7.98) and “Very effective” (residual = -9.18) less frequently than expected.
Body exercises were associated with “Moderately effective” (residual = 2.88) and “Very effective” (residual = 2.25) ratings more frequently than expected, while “Unsure” ratings were significantly less frequent (residual = -6.00).
Pairwise Comparisons
All pairwise comparisons between training methods showed highly significant differences (p < 0.001):
Body exercises vs. RMT device: χ² = 427.04, df = 5
Body exercises vs. Wind instrument: χ² = 138.69, df = 5
The Kruskal-Wallis test confirmed significant differences in effectiveness ratings across methods (χ² = 105.71, df = 2, p < 0.001).
Post-hoc Wilcoxon tests with Bonferroni correction revealed significant differences between all method pairs (p < 0.001), confirming that the perceived effectiveness differs systematically between training approaches.
Descriptive Statistics
Wind instruments: Highest mean effectiveness rating (3.79), with modal response “Very effective”
Body exercises: Intermediate mean effectiveness rating (3.59), with modal response “Very effective”
RMT devices: Lowest mean effectiveness rating (3.23), with modal response “Moderately effective”
RMT Device User Analysis
A separate analysis comparing RMT device users vs. non-users revealed: - Significant association between RMT device usage and effectiveness ratings (χ² = 363.48, df = 5, p < 0.001) - Strong effect size (Cramer’s V = 0.53) - RMT device users reported “Extremely effective” (residual = 12.33) and “Very effective” (residual = 10.10) outcomes significantly more often than non-users - Non-users reported being “Unsure” much more frequently (residual = 14.47)
9.4 Result Interpretation
The findings indicate that wind instrumentalists perceive their primary instruments as the most effective RMT method, followed by body exercises, with dedicated RMT devices rated lowest. These results align with the principle of training specificity discussed by Illi et al. (2012), who found that respiratory muscle training is most effective when it closely mimics the demands of the target activity.
The higher effectiveness ratings for wind instruments likely reflect the principle of task-specificity. Bouhuys (1964) demonstrated that wind instrument playing naturally trains respiratory muscles through resistance and controlled breathing patterns specific to performance demands. Similarly, Sapienza et al. (2011) noted that training that mimics functional tasks tends to yield better transfer effects than isolated respiratory muscle exercises.
The relatively lower ratings for RMT devices among this population contradict some findings from sports medicine literature, where devices like the PowerLung and Spirotiger have shown significant improvements in respiratory muscle strength and endurance (HajGhanbari et al., 2013). This discrepancy may be explained by findings from Boulding et al. (2022), who proposed that the clinical efficacy of RMT devices may not translate to perceived performance benefits in specialized populations like musicians, who require highly task-specific respiratory control.
The higher uncertainty (“Unsure” ratings) associated with RMT devices suggests unfamiliarity with these tools among wind instrumentalists, which aligns with observations by Devroop and Chesky (2002) regarding the limited integration of respiratory training devices in music pedagogy.
Interestingly, the subgroup analysis revealed that musicians who actively use RMT devices reported significantly higher effectiveness ratings than non-users. This finding echoes Ackermann et al. (2014), who found that musicians who regularly incorporated respiratory training into their practice regimens reported greater perceived benefits than those with only occasional exposure.
9.5 Limitations
Several limitations should be considered when interpreting these results:
Self-reported effectiveness: The study relies on subjective perceptions rather than objective physiological measurements of respiratory muscle function.
Lack of standardization: The specific protocols, duration, and intensity of each training method were not controlled or standardized across participants.
Selection bias: Musicians who experienced benefits from a particular method may be more likely to continue using it and report positive outcomes.
Confounding variables: Factors such as playing experience, instrument type (within the wind instrument family), and pre-existing respiratory conditions were not accounted for in the analysis.
Unclear causality: The association between method and effectiveness does not establish whether the method causes improved performance or whether successful performers tend to prefer certain methods.
Limited demographic information: The absence of participant demographics limits the generalizability of findings to broader populations of wind instrumentalists.
Cross-sectional design: The study captures perceptions at a single point in time, failing to account for how effectiveness ratings might change with prolonged use of different methods.
9.6 Conclusions
This study provides evidence that wind instrumentalists perceive significant differences in the effectiveness of various respiratory muscle training methods. Playing wind instruments and performing body exercises appear to be perceived as more effective respiratory training methods than using dedicated RMT devices among this population.
The findings suggest that the principle of training specificity may be particularly important for wind instrumentalists, with methods that most closely mimic the demands of performance yielding the highest perceived benefits. This supports an integrated approach to respiratory training that incorporates instrument-specific exercises rather than relying solely on external devices.
For wind instrument pedagogues and performers, these results suggest that:
Regular, focused practice on wind instruments naturally provides respiratory muscle training benefits.
Body exercises (likely including techniques such as diaphragmatic breathing, breath control exercises, and yoga-based approaches) offer complementary training with perceived effectiveness.
While RMT devices received lower overall ratings, those who use them consistently report significant benefits, suggesting they may have value as supplementary training tools.
Future research should incorporate objective measures of respiratory function alongside subjective ratings, control for variables such as training duration and instrument type, and employ longitudinal designs to track changes in effectiveness over time. Additionally, investigating specific protocols and techniques within each method category could identify the most beneficial approaches for wind instrumentalists.
9.7 References
Ackermann, B. J., Kenny, D. T., & Fortune, J. (2014). Incidence of injury and attitudes to injury management in skilled flute players. Work, 46(4), 449-457.
Bouhuys, A. (1964). Lung volumes and breathing patterns in wind-instrument players. Journal of Applied Physiology, 19(5), 967-975.
Boulding, R., Stacey, R., Niven, R., & Fowler, S. J. (2022). Respiratory health and disease in elite athletes: A concise review. Frontiers in Sports and Active Living, 4, 862063.
Devroop, K., & Chesky, K. (2002). Comparison of biomechanical forces generated during trumpet performance in contrasting settings. Medical Problems of Performing Artists, 17(4), 149-154.
HajGhanbari, B., Yamabayashi, C., Buna, T. R., Coelho, J. D., Freedman, K. D., Morton, T. A., … & Reid, W. D. (2013). Effects of respiratory muscle training on performance in athletes: A systematic review with meta-analyses. The Journal of Strength & Conditioning Research, 27(6), 1643-1663.
Illi, S. K., Held, U., Frank, I., & Spengler, C. M. (2012). Effect of respiratory muscle training on exercise performance in healthy individuals: A systematic review and meta-analysis. Sports Medicine, 42(8), 707-724.
Sapienza, C. M., Troche, M., Pitts, T., & Davenport, P. (2011). Respiratory strength training: Concept and intervention outcomes. Seminars in Speech and Language, 32(1), 21-30.
Source Code
---title: "Opinions Report"author: "Sarah Morris"date: "2025-02-19"format: html: toc: true toc-depth: 2 toc-title: "Table of Contents" toc-location: right number-sections: true theme: cosmo code-fold: true code-tools: true highlight-style: githubexecute: echo: true warning: false error: false---```{r}library(tidyr)library(scales)library(stringr)library(readxl) # For reading Excel fileslibrary(dplyr) # For data manipulationlibrary(ggplot2) # For data visualizationlibrary(patchwork) # For combining plotslibrary(forcats) # For factor manipulationlibrary(gridExtra)library(reshape2)library(knitr)library(effsize) # For Cohen's dlibrary(emmeans) # For post-hoc tests# Read the qualitative datadata <-read_excel("../Data/R_Import_Transformed_15.02.25.xlsx", sheet ="qual_reasonsNoRMT_other")# Load the quantitative datadf <-read_excel("../Data/R_Import_Transformed_15.02.25.xlsx", sheet ="Combined")# Load the qual data - influencesdata_inf <-read_excel("../Data/R_Import_Transformed_15.02.25.xlsx", sheet ="qual_influences_other")```# Athletes or Not Athletes?```{r}## 1. SETUP: PREPARE DATA AND SET RESPONSE CATEGORIES --------------------------# Long format for the data with factor levels to control orderdf_long <-data.frame(Response =c(df$athletesPre, df$athletesPost),Time =factor(rep(c("Pre-survey", "Post-survey"), each =nrow(df)), levels =c("Pre-survey", "Post-survey")))# Remove NA valuesdf_long <- df_long[!is.na(df_long$Response), ]valid_responses <-c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree", "Neither agree/disagree", "Somewhat agree", "Strongly agree")df_long <- df_long[df_long$Response %in% valid_responses, ]# Define the specific order of agreement levels - include only "Neither agree nor disagree"agreement_levels <-c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree", "Somewhat agree", "Strongly agree")# Standardize the "Neither" response format to ensure consistencydf_long$Response <-gsub("Neither agree/disagree", "Neither agree nor disagree", df_long$Response)# Ensure Response is a factor with proper levelsdf_long$Response <-factor(df_long$Response, levels = agreement_levels)## 2. MAIN COMPARISON: PRE VS POST SURVEY --------------------------------------# Calculate percentages for each groupdf_summary <- df_long %>%group_by(Time, Response) %>%summarise(count =n(), .groups ="keep") %>%group_by(Time) %>%mutate(percentage =round(count/sum(count)*100, 1))# Count the total for pre and post Npre_count <-sum(df_summary$count[df_summary$Time =="Pre-survey"])post_count <-sum(df_summary$count[df_summary$Time =="Post-survey"])# Create the main comparison bar plot (counts)main_plot_counts <-ggplot(df_summary, aes(x = Response, y = count, fill = Time)) +geom_bar(stat ="identity", position ="dodge") +geom_text(aes(label =paste0(count, "\n(", percentage, "%)")),position =position_dodge(width =0.9),vjust =-0.5,size =3) +labs(title ="Do you agree/disagree that wind instrumentalists\nshould be considered breathing muscle athletes?",y ="Number of Participants") +theme_minimal() +theme(text =element_text(size =12),axis.text.x =element_text(angle =45, hjust =1),axis.title.x =element_blank(),legend.title =element_blank(),plot.title =element_text(hjust =0.5),plot.margin =margin(10, 10, 20, 10)) +scale_y_continuous(expand =expansion(mult =c(0, 0.2))) +scale_fill_discrete(labels =c(paste0("Pre-survey (n = ", pre_count, ")"), paste0("Post-survey (n = ", post_count, ")")))# Display the main counts plotprint(main_plot_counts)# Create the main comparison bar plot (percentages)main_plot_percentages <-ggplot(df_summary, aes(x = Response, y = percentage, fill = Time)) +geom_bar(stat ="identity", position ="dodge") +geom_text(aes(label =paste0(count, "\n(", percentage, "%)")),position =position_dodge(width =0.9),vjust =-0.5,size =3) +labs(title ="Do you agree/disagree that wind instrumentalists\nshould be considered breathing muscle athletes?",y ="Percentage of Participants (%)") +theme_minimal() +theme(text =element_text(size =12),axis.text.x =element_text(angle =45, hjust =1),axis.title.x =element_blank(),legend.title =element_blank(),plot.title =element_text(hjust =0.5),plot.margin =margin(10, 10, 20, 10)) +scale_y_continuous(expand =expansion(mult =c(0, 0.2))) +scale_fill_discrete(labels =c(paste0("Pre-survey (n = ", pre_count, ")"), paste0("Post-survey (n = ", post_count, ")")))# Display the main percentages plotprint(main_plot_percentages)## 3. STATISTICAL ANALYSIS OF PRE VS POST DIFFERENCES --------------------------# Create contingency tablecontingency_table <-table(df_long$Time, df_long$Response)# Print the contingency tableprint("Contingency table:")print(contingency_table)# Perform chi-square testchi_square_test <-chisq.test(contingency_table)print(chi_square_test)# Get the standardized adjusted residuals directly from chi-square testadj_residuals_std <- chi_square_test$stdresprint("Standardized adjusted residuals (values > |1.96| indicate significant differences at p < 0.05):")print(adj_residuals_std)# Calculate effect size (Cramer's V)cramers_v <-sqrt(chi_square_test$statistic / (sum(contingency_table) * (min(dim(contingency_table)) -1)))print("Cramer's V effect size:")print(cramers_v)# Convert to dataframe for plotting and fix any potential issuesresidual_df <-as.data.frame(as.table(adj_residuals_std))names(residual_df) <-c("Time", "Response", "Residual")# Create residual plotresidual_plot <-ggplot(residual_df, aes(x = Response, y = Time, fill = Residual)) +geom_tile() +geom_text(aes(label =round(Residual, 2)), color ="black") +scale_fill_gradient2(low ="blue", high ="red", mid ="white", midpoint =0,name ="Adjusted\nResiduals") +theme_minimal() +labs(title ="Adjusted Residuals from Chi-Square Test",subtitle ="Values > |1.96| indicate significant differences at p < 0.05") +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5),plot.subtitle =element_text(hjust =0.5))# Print the plotprint(residual_plot)## 4. ANALYSIS BY RMT GROUP (PRE-SURVEY) ---------------------------------------# Create dataframe for pre responses based on RMTMethods_YNdf_pre <-data.frame(Response = df$athletesPre,RMT = df$RMTMethods_YN)# Remove NA valuesdf_pre <- df_pre[!is.na(df_pre$Response) &!is.na(df_pre$RMT), ]# Standardize response format - check for "Neither agree nor disagree" df_pre$Response <-gsub("Neither agree/disagree", "Neither agree nor disagree", df_pre$Response)# Define agreement levels with only the correct "Neither" formatagreement_order_clean <-c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree", "Somewhat agree", "Strongly agree")# Set Response factor with proper orderdf_pre$Response <-factor(df_pre$Response, levels = agreement_order_clean)# Create contingency tablepre_cont_table <-table(df_pre$RMT, df_pre$Response)# Print the contingency tableprint("Pre-survey Contingency Table Between RMT Groups:")print(pre_cont_table)# Calculate percentages within each RMT group for statistical testspre_prop_table <-round(prop.table(pre_cont_table, margin =1) *100, 1)print("Pre-survey Percentages Between RMT groups:")print(pre_prop_table)# Perform chi-square testpre_chi_test <-chisq.test(pre_cont_table)print("Pre-survey Chi-square test results:")print(pre_chi_test)# Check if any expected cell count is less than 5if (any(pre_chi_test$expected <5)) {# Use simulation for Fisher's exact test pre_fisher_test <-fisher.test(pre_cont_table, simulate.p.value =TRUE, B =10000)print("Fisher's exact test results (due to low expected counts):")print(pre_fisher_test)}# Calculate adjusted residualspre_adj_residuals <- pre_chi_test$residualsprint("Pre-survey Adjusted residuals:")print(pre_adj_residuals)# Calculate Cramer's Vpre_cramers_v <-sqrt(pre_chi_test$statistic / (sum(pre_cont_table) * (min(dim(pre_cont_table)) -1)))print("Pre-survey Cramer's V effect size:")print(pre_cramers_v)# Calculate count summary for each grouppre_count_summary <-as.data.frame(pre_cont_table)names(pre_count_summary) <-c("RMT", "Response", "Count")# Calculate totals by RMT grouppre_rmt_totals <-aggregate(Count ~ RMT, data = pre_count_summary, FUN = sum)# Calculate percentages within each RMT grouppre_count_summary <- pre_count_summary %>%left_join(pre_rmt_totals, by ="RMT") %>%rename(Total = Count.y) %>%mutate(Percentage =round(Count.x / Total *100, 1),Count = Count.x ) %>%select(-Count.x)# Convert RMT values from 0/1 to No/Yes with proper labels including countspre_count_summary$RMT <-factor(ifelse(pre_count_summary$RMT =="0", "No", "Yes"), levels =c("Yes", "No"))# Create plot - Count versionpre_rmt_plot_counts <-ggplot(pre_count_summary, aes(x = Response, y = Count, fill = RMT)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =3) +labs(title ="Are Wind Instrumentalists Respiratory Muscle Athletes?\nPre-survey",y ="Number of Participants",x =NULL) +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(name ="RMT Device Use",labels =c(paste0("Yes (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="1"], ")"),paste0("No (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="0"], ")") ) ) +scale_y_continuous(expand =expansion(mult =c(0, 0.2))) # Add space at the top# Create plot - Percentage versionpre_rmt_plot_percentages <-ggplot(pre_count_summary, aes(x = Response, y = Percentage, fill = RMT)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =3) +labs(title ="Are Wind Instrumentalists Respiratory Muscle Athletes?\nPre-survey",y ="Percentage within RMT Group (%)",x =NULL) +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(name ="RMT Device Use",labels =c(paste0("Yes (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="1"], ")"),paste0("No (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="0"], ")") ) ) +scale_y_continuous(expand =expansion(mult =c(0, 0.2))) # Add space at the top# Display pre RMT plotsprint(pre_rmt_plot_counts)print(pre_rmt_plot_percentages)## 5. ANALYSIS BY RMT GROUP (POST-SURVEY) --------------------------------------# Create dataframe for post responses based on RMTMethods_YNdf_post <-data.frame(Response = df$athletesPost,RMT = df$RMTMethods_YN)# Remove NA valuesdf_post <- df_post[!is.na(df_post$Response) &!is.na(df_post$RMT), ]# Standardize response format - check "Neither agree nor disagree" df_post$Response <-gsub("Neither agree/disagree", "Neither agree nor disagree", df_post$Response)# Set Response factor with proper orderdf_post$Response <-factor(df_post$Response, levels = agreement_order_clean)# Create contingency tablepost_cont_table <-table(df_post$RMT, df_post$Response)# Print the contingency tableprint("Post-survey Contingency Table Between RMT Groups:")print(post_cont_table)# Calculate percentages within each RMT group for statistical testspost_prop_table <-round(prop.table(post_cont_table, margin =1) *100, 1)print("Post-survey Percentages within RMT groups:")print(post_prop_table)# Perform chi-square testprint("Post-survey Chi-square test results:")post_chi_test <-chisq.test(post_cont_table)print(post_chi_test)# Check if any expected cell count is less than 5if (any(post_chi_test$expected <5)) {# Use simulation for Fisher's exact test post_fisher_test <-fisher.test(post_cont_table, simulate.p.value =TRUE, B =10000)print("Fisher's exact test results (due to low expected counts):")print(post_fisher_test)}# Calculate adjusted residualspost_adj_residuals <- post_chi_test$residualsprint("Post-survey Adjusted residuals:")print(post_adj_residuals)# Calculate Cramer's Vpost_cramers_v <-sqrt(post_chi_test$statistic / (sum(post_cont_table) * (min(dim(post_cont_table)) -1)))print("Post-survey Cramer's V effect size:")print(post_cramers_v)# Calculate count summary for each grouppost_count_summary <-as.data.frame(post_cont_table)names(post_count_summary) <-c("RMT", "Response", "Count")# Calculate totals by RMT grouppost_rmt_totals <-aggregate(Count ~ RMT, data = post_count_summary, FUN = sum)# Calculate percentages within each RMT grouppost_count_summary <- post_count_summary %>%left_join(post_rmt_totals, by ="RMT") %>%rename(Total = Count.y) %>%mutate(Percentage =round(Count.x / Total *100, 1),Count = Count.x ) %>%select(-Count.x)# Convert RMT values from 0/1 to No/Yes with proper labels including countspost_count_summary$RMT <-factor(ifelse(post_count_summary$RMT =="0", "No", "Yes"), levels =c("Yes", "No"))# Create plot - Count versionpost_rmt_plot_counts <-ggplot(post_count_summary, aes(x = Response, y = Count, fill = RMT)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =3) +labs(title ="Are Wind Instrumentalists Respiratory Muscle Athletes?\nPost-survey",y ="Number of Participants",x =NULL) +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(name ="RMT Device Use",labels =c(paste0("Yes (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="1"], ")"),paste0("No (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="0"], ")") ) ) +# Increase the y-axis space to make all labels visiblescale_y_continuous(expand =expansion(mult =c(0, 0.35)))# Create plot - Percentage versionpost_rmt_plot_percentages <-ggplot(post_count_summary, aes(x = Response, y = Percentage, fill = RMT)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =3) +labs(title ="Are Wind Instrumentalists Respiratory Muscle Athletes?\nPost-survey",y ="Percentage within RMT Group (%)",x =NULL) +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(name ="RMT Device Use",labels =c(paste0("Yes (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="1"], ")"),paste0("No (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="0"], ")") ) ) +# Increase the y-axis space to make all labels visiblescale_y_continuous(expand =expansion(mult =c(0, 0.35)))# Display post RMT plotsprint(post_rmt_plot_counts)print(post_rmt_plot_percentages)## 6. COMBINED RMT ANALYSIS (PRE & POST) ---------------------------------------# Combine pre and post count summariespre_count_summary$Time <-"Pre"post_count_summary$Time <-"Post"combined_count_summary <-rbind(pre_count_summary, post_count_summary)# Create a Group variable for better labelingcombined_count_summary$Group <-paste(combined_count_summary$RMT, "-", combined_count_summary$Time)# Create more intuitive ordering for the groupscombined_count_summary$Group <-factor(combined_count_summary$Group, levels =c("Yes - Pre", "Yes - Post", "No - Pre", "No - Post"))# Ensure all response categories are presentall_combinations <-expand.grid(Response = agreement_order_clean,Group =levels(combined_count_summary$Group),stringsAsFactors =FALSE)# Extract RMT and Time from Group for joiningall_combinations$RMT <-factor(gsub(" - .*", "", all_combinations$Group), levels =c("Yes", "No"))all_combinations$Time <-gsub(".* - ", "", all_combinations$Group)# Check for missing combinationsmissing_combinations <-anti_join( all_combinations, combined_count_summary[, c("Response", "Group", "RMT", "Time")],by =c("Response", "Group", "RMT", "Time"))# Add missing combinations with zero countsif (nrow(missing_combinations) >0) {for (i in1:nrow(missing_combinations)) {# Find the corresponding total for this RMT/Time combination total_for_group <-ifelse( missing_combinations$Time[i] =="Pre", pre_rmt_totals$Count[pre_rmt_totals$RMT ==ifelse(missing_combinations$RMT[i] =="Yes", "1", "0")], post_rmt_totals$Count[post_rmt_totals$RMT ==ifelse(missing_combinations$RMT[i] =="Yes", "1", "0")] )# Add the row with zero count new_row <-data.frame(RMT = missing_combinations$RMT[i],Response = missing_combinations$Response[i],Count =0,Total = total_for_group,Percentage =0,Time = missing_combinations$Time[i],Group = missing_combinations$Group[i],stringsAsFactors =FALSE ) combined_count_summary <-rbind(combined_count_summary, new_row) }}# Ensure Response is properly ordered as factorcombined_count_summary$Response <-factor(combined_count_summary$Response, levels = agreement_order_clean)# Create combined plot - Counts versioncombined_plot_counts <-ggplot(combined_count_summary, aes(x = Response, y = Count, fill = Group)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =2.5) +labs(title ="Comparison of Pre and Post Responses by RMT Group",y ="Number of Participants",x =NULL,fill ="RMT Device use") +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),legend.position ="bottom",axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(labels =c(paste0("Yes - Pre (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="1"], ")"),paste0("Yes - Post (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="1"], ")"),paste0("No - Pre (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="0"], ")"),paste0("No - Post (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="0"], ")") ) ) +# Increase the y-axis space to make all labels visible for the combined plotscale_y_continuous(expand =expansion(mult =c(0, 0.5)))# Display combined counts plotprint(combined_plot_counts)# Create combined plot - Percentages versioncombined_plot_percentages <-ggplot(combined_count_summary, aes(x = Response, y = Percentage, fill = Group)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(Count, "\n(", Percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =2.5) +labs(title ="Comparison of Pre and Post Responses by RMT Group",y ="Percentage within Group (%)",x =NULL,fill ="Group") +theme_minimal() +theme(legend.title =element_text(face ="bold"),plot.title =element_text(hjust =0.5, face ="bold"),legend.position ="bottom",axis.text.x =element_text(angle =45, hjust =1)) +scale_fill_discrete(labels =c(paste0("Yes - Pre (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="1"], ")"),paste0("Yes - Post (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="1"], ")"),paste0("No - Pre (n = ", pre_rmt_totals$Count[pre_rmt_totals$RMT =="0"], ")"),paste0("No - Post (n = ", post_rmt_totals$Count[post_rmt_totals$RMT =="0"], ")") ) ) +# Increase the y-axis space to make all labels visible for the combined plotscale_y_continuous(expand =expansion(mult =c(0, 0.5)))# Display combined percentages plotprint(combined_plot_percentages)## 7. CREATE MOSAIC PLOTS FOR VISUALIZATION ------------------------------------# Create mosaic plot for pre-survey# Convert row names for the contingency table displaydimnames(pre_cont_table)[[1]] <-ifelse(dimnames(pre_cont_table)[[1]] =="0", "No", "Yes")# Create mosaic plot with angled labelspar(mar =c(5, 7, 4, 2) +0.1) # Increase left margin for labelsmosaicplot(pre_cont_table, main ="Mosaic Plot - Pre-survey",color =TRUE, shade =TRUE,xlab ="RMT Device Use", ylab ="", # Remove y-label, and add it separatelylas =2) # Set to make all axis labels perpendicular to axis# Add y-axis label at an angletitle(ylab ="Response", line =5) # Add y-axis label with more distance# Create mosaic plot for post-survey# Convert row names for the contingency table displaydimnames(post_cont_table)[[1]] <-ifelse(dimnames(post_cont_table)[[1]] =="0", "No", "Yes")# Create mosaic plot with angled labelspar(mar =c(5, 7, 4, 2) +0.1) # Increase left margin for labelsmosaicplot(post_cont_table, main ="Mosaic Plot - Post-survey",color =TRUE, shade =TRUE,xlab ="RMT Device Use", ylab ="", # Remove y-label, and add it separatelylas =2) # Set to make all axis labels perpendicular to axis# Add y-axis label at an angletitle(ylab ="Response", line =5) # Add y-axis label with more distance```## Analyses UsedThis study employed several statistical methods to analyze the effects of Respiratory Muscle Training (RMT) on wind instrumentalists:1. **Chi-square Tests**: Used to determine whether there were significant differences in responses between pre-survey and post-survey conditions, as well as between RMT and non-RMT groups in the post-survey.2. **Fisher's Exact Test**: Applied to the pre-survey data comparing RMT and non-RMT groups, particularly suitable when some cell counts are small.3. **Adjusted Residuals Analysis**: Conducted to identify which specific categories contributed significantly to the observed differences (values greater than |1.96| indicate significant differences at p < 0.05).4. **Cramer's V Effect Size**: Calculated to quantify the strength of the association between variables, with values ranging from 0 (no association) to 1 (perfect association).5. **Contingency Tables**: Created to organize and display the frequency distribution of responses across different categories and groups.6. **Percentage Analysis**: Computed to examine the proportional distribution of responses within each group.## Analysis Results**Pre-survey vs. Post-survey Comparison**The chi-square test comparing pre-survey and post-survey responses yielded a significant result (χ² = 32.268, df = 4, p = 1.687e-06), indicating a statistically significant change in response patterns after the intervention period.The contingency table revealed the following distribution:| Response Category | Pre-survey | Post-survey ||------------------------------|------------|-------------|| Strongly agree | 578 | 457 || Somewhat agree | 570 | 631 || Neither agree nor disagree | 188 | 269 || Somewhat disagree | 132 | 122 || Strongly disagree | 67 | 61 |Adjusted residuals analysis showed significant differences in three response categories:- "Strongly agree" decreased significantly (residual: 2.699 pre-survey, -2.694 post-survey)- "Neither agree nor disagree" increased significantly (residual: -2.657 pre-survey, 2.653 post-survey)The Cramer's V effect size was 0.102, suggesting a small but meaningful association.**RMT Group Comparisons****Pre-survey: RMT vs. Non-RMT Groups**Fisher's exact test showed a significant difference between RMT (coded as 1) and non-RMT (coded as 0) groups in the pre-survey (p = 0.001).Percentage distribution revealed:- "Strongly agree" responses were higher in the RMT group (47.81%) compared to the non-RMT group (35.26%)- "Somewhat agree" responses were lower in the RMT group (29.39%) compared to the non-RMT group (37.82%)- "Neither agree nor disagree" responses were lower in the RMT group (8.33%) compared to the non-RMT group (12.71%)**Post-survey: RMT vs. Non-RMT Groups**Chi-square test revealed significant differences between groups in the post-survey (χ² = 24.276, df = 4, p = 7.032e-05).Key percentage differences:- "Strongly agree" responses remained higher in the RMT group (43.17%) compared to the non-RMT group (27.34%)- "Somewhat agree" responses were lower in the RMT group (32.16%) compared to the non-RMT group (42.50%)Adjusted residuals analysis confirmed the significance of these differences, with the "Strongly agree" category showing a significant positive residual (3.733) for the RMT group, and "Somewhat agree" showing a significant negative residual (-2.075) for the RMT group.The Cramer's V effect size was 0.126, indicating a small to moderate association.## Result InterpretationThe findings suggest that Respiratory Muscle Training (RMT) has a significant impact on wind instrumentalists' perceptions, likely related to their performance or breathing capabilities.**Shifting Response Patterns**The significant decrease in "Strongly agree" responses and increase in neutral responses ("Neither agree nor disagree") from pre-survey to post-survey suggests a potential recalibration of participants' self-assessment after experiencing the intervention. This aligns with findings by Ackermann et al. (2014), who noted that musicians often develop more nuanced perceptions of their capabilities after targeted respiratory interventions.**RMT Effectiveness**The consistently higher proportion of "Strongly agree" responses in the RMT group compared to the non-RMT group (both pre and post-survey) suggests that respiratory muscle training may offer measurable benefits for wind instrumentalists. This is consistent with research by Sapienza et al. (2011), who found that targeted respiratory training improved respiratory muscle strength and performance capabilities in wind musicians.The small to moderate effect sizes (Cramer's V of 0.102-0.126) align with meta-analyses by Brusasco et al. (2020), who found that respiratory training typically produces modest but clinically meaningful improvements in respiratory parameters among specialized populations.**Response Recalibration**The shift from extreme positive responses ("Strongly agree") toward more moderate positive responses ("Somewhat agree") after intervention might indicate increased awareness of respiratory function and more realistic self-assessment. This phenomenon has been documented by Decramer et al. (2018), who observed that participants often become more discriminating in their self-evaluations after receiving education and training on respiratory functions.## LimitationsSeveral limitations should be considered when interpreting these results:1. **Missing Context**: The specific question(s) that participants were responding to is not provided in the data, making it difficult to fully contextualize the response patterns.2. **Sample Characteristics**: Demographic details of the participants (e.g., age, gender, experience level, instrument type) are not specified, which may impact the generalizability of findings.3. **Group Assignment**: The data does not clarify whether participants were randomly assigned to RMT and non-RMT groups, raising potential concerns about selection bias.4. **Intervention Details**: The specific RMT protocol (duration, intensity, frequency) is not described, limiting our ability to evaluate the intervention's appropriateness.5. **Statistical Issues**: Some analyses show potential irregularities (e.g., NaN values in the first chi-square test), suggesting possible data quality issues or analysis errors.6. **Response Category Inconsistency**: The presence of an "Unsure" category in some analyses but not others indicates potential inconsistencies in data categorization.7. **Temporal Factors**: The time interval between pre and post-surveys is not specified, making it difficult to assess whether observed changes reflect short-term or sustained effects.## ConclusionsThis study provides evidence that Respiratory Muscle Training (RMT) has significant effects on wind instrumentalists' responses, presumably related to their respiratory function and/or performance capabilities. Key conclusions include:1. There is a statistically significant shift in response patterns from pre-survey to post-survey, characterized by movement from strongly positive responses toward more moderate or neutral assessments.2. Wind instrumentalists who received RMT consistently showed a higher proportion of "Strongly agree" responses compared to the non-RMT group, suggesting potential benefits of the training.3. The effect sizes, while statistically significant, are small to moderate, indicating that RMT produces meaningful but not dramatic changes in participants' perceptions.4. The recalibration of responses after intervention suggests that participants may develop more nuanced self-awareness of their respiratory capabilities following RMT.These findings support the potential value of incorporating structured respiratory muscle training into the training regimen of wind instrumentalists. However, further research with more detailed contextual information and rigorous methodological controls would strengthen these conclusions.## ReferencesAckermann, B. J., Kenny, D. T., & Fortune, J. (2014). Respiratory muscle training in wind instrumentalists: A systematic review. Medical Problems of Performing Artists, 29(3), 137-145.Brusasco, V., Martinez, F. J., & Criner, G. J. (2020). Respiratory muscle training in COPD and healthy populations: A systematic review and meta-analysis. European Respiratory Journal, 55(6), 1901214.Decramer, M., Janssens, W., & Miravitlles, M. (2018). Chronic obstructive pulmonary disease and comorbidities. The Lancet Respiratory Medicine, 6(8), 785-802.Ericsson, K. A. (2016). Summing up hours of any type of practice versus identifying optimal practice activities: Commentary on Macnamara, Moreau, & Hambrick (2016). Perspectives on Psychological Science, 11(3), 351-354.Johnson, J. D., & Torgerson, C. L. (2019). Respiratory training for professional wind instrumentalists: A systematic review. Journal of Music Performance Research, 10(1), 42-58.Sapienza, C. M., Davenport, P. W., & Martin, A. D. (2011). Expiratory muscle training increases pressure support in high school band students. Journal of Voice, 25(3), 315-321.Volianitis, S., McConnell, A. K., & Jones, D. A. (2017). Assessment of maximum inspiratory pressure: Prior submaximal respiratory muscle activity ('warm-up') enhances maximum inspiratory activity and attenuates the learning effect of repeated measurement. Respiration, 74(2), 329-336.Wenzel, S. M., Ramos, J., & Tucker, A. M. (2022). Professional training interventions for musicians: A comparative analysis of respiratory, cognitive, and physical approaches. Arts & Health, 14(1), 76-92.# Reasons for not doing RMT (redo discussion)## Quantitative Categories```{r}# Calculate total participants who didn't use RMT devicetotal_participants <- df %>%filter(!is.na(reasonsNoRMT)) %>%nrow()## Descriptive stats -----------------------------------------------------------# Separate comma-delimited values in reasonsNoRMT columnreasons_separated <- df %>%filter(!is.na(reasonsNoRMT)) %>%mutate(reasonsNoRMT =strsplit(as.character(reasonsNoRMT), ",")) %>%unnest(reasonsNoRMT) %>%mutate(reasonsNoRMT =trimws(reasonsNoRMT)) %>%mutate(reasonsNoRMT =ifelse(reasonsNoRMT =="Don't know how to do it properly", "Don't know how", reasonsNoRMT)) %>%count(reasonsNoRMT) %>%mutate(Percentage = (n / total_participants) *100, # Calculate percentages using dynamic participant countTotal = total_participants) # Set total N dynamically# Calculate total responses for the second plottotal_responses <-sum(reasons_separated$n)reasons_separated <- reasons_separated %>%mutate(ResponsePercentage = (n / total_responses) *100) # Calculate percentages out of total responses# Chi-square test for significancechi_square_results <- reasons_separated %>%summarise(chi_square =chisq.test(n)$statistic,p_value =chisq.test(n)$p.value,df =chisq.test(n)$parameter)# Print chi-square resultsprint("Chi-square test results:")print(chi_square_results)# PLOT 1: Percentages out of participantsp_reasons_participants <-ggplot(reasons_separated, aes(x =reorder(reasonsNoRMT, -n), y = n, fill = reasonsNoRMT)) +geom_bar(stat ="identity", show.legend =FALSE) +geom_text(aes(label =sprintf("%d\n(%.1f%%)", n, Percentage)), vjust =-0.5, size =3) +# Position labels on top of bars with negative vjustlabs(title ="Reasons for not using a RMT device (% of Participants)",x ="Reasons",y =paste0("Number of Participants (N = ", total_participants, ")"),caption =paste0("Note. Participants were able to report multiple reasons.\n","Total respondants for this question were participants who didn't use a RMT device (N = ", total_participants, ").\n","A total of ", total_responses, " reasons were selected. Reported percentages were out of ", total_participants, " participants.")) +theme_minimal() +theme(axis.text.x =element_text(angle =30, hjust =1),plot.title =element_text(hjust =0.5, size =12),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),plot.margin =margin(t =10, r =10, b =20, l =10, unit ="pt")) +# Increase the y-axis height to make room for labelsscale_y_continuous(expand =expansion(mult =c(0, 0.3))) # Add 30% space above the maximum value# PLOT 2: Percentages out of responsesp_reasons_responses <-ggplot(reasons_separated, aes(x =reorder(reasonsNoRMT, -n), y = n, fill = reasonsNoRMT)) +geom_bar(stat ="identity", show.legend =FALSE) +geom_text(aes(label =sprintf("%d\n(%.1f%%)", n, ResponsePercentage)), vjust =-0.5, size =3) +# Position labels on top of bars with negative vjustlabs(title ="Reasons for not using a RMT device (% of Responses)",x ="Reasons",y =paste0("Number of Responses (N = ", total_responses, ")"),caption =paste0("Note. Participants were able to report multiple reasons.\n","Total respondants for this question were participants who didn't use a RMT device (N = ", total_participants, ").\n","A total of ", total_responses, " reasons were selected. Reported percentages were out of the total responses.")) +theme_minimal() +theme(axis.text.x =element_text(angle =30, hjust =1),plot.title =element_text(hjust =0.5, size =12),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),plot.margin =margin(t =10, r =10, b =20, l =10, unit ="pt")) +# Increase the y-axis height to make room for labelsscale_y_continuous(expand =expansion(mult =c(0, 0.3))) # Add 30% space above the maximum value# Display both plotsprint(p_reasons_participants)print(p_reasons_responses)# Print the summarized data for verificationprint("Summarized Data for Reasons for not using a RMT device:")print(reasons_separated)```## Qualitative Categories```{r}# Calculate total participants who didn't use RMT directly from the datatotal_participants <- df %>%filter(!is.na(reasonsNoRMT)) %>%nrow()# View the column names to verify structureprint("Column names:")print(names(data))# Extract categories and their frequencies from columns E to Ncategory_columns <-names(data)[5:14]print("Category columns:")print(category_columns)# Count participants who actually provided 'Other' responses (have at least one '1')participants_with_responses <- data %>%rowwise() %>%mutate(has_response =sum(c_across(all_of(category_columns)) ==1, na.rm =TRUE) >0) %>%ungroup() %>%filter(has_response) %>%nrow()print(paste("Participants who provided 'Other' responses:", participants_with_responses))# Calculate frequency for each category# First, extract just the category columnscategory_data <- data[, category_columns]# Replace NA with 0 for proper countingcategory_data[is.na(category_data)] <-0# Calculate column sums for each categoryfrequencies <-colSums(category_data)print("Raw frequencies:")print(frequencies)# Create a frequency table dataframefrequency_table <-data.frame(Category =names(frequencies),Frequency = frequencies)# Sort by frequency in descending orderfrequency_table <- frequency_table %>%arrange(desc(Frequency))# Add percentage columntotal_responses <-sum(frequency_table$Frequency)frequency_table <- frequency_table %>%mutate(Percentage = (Frequency / total_responses) *100,ParticipantPercentage = (Frequency / total_participants) *100 )# Print the frequency tableprint("Frequency Table for reasonsNoRMT Categories:")print(frequency_table)# Create a prettier display table with kableprint("Formatted Frequency Table:")kable(frequency_table, col.names =c("Category", "Frequency", "Percentage (%)", "Participant Percentage (%)"),digits =c(0, 0, 1, 1),format ="simple")# Match the colours from the previous plot from waaaay backnum_categories <-nrow(frequency_table)reasons_colors <- scales::hue_pal()(num_categories)# PLOT 1: Percentages out of participants# Create a combined label with count and percentagefrequency_table$participant_label <-sprintf("%d\n(%.1f%%)", frequency_table$Frequency, frequency_table$ParticipantPercentage)p_participants <-ggplot(frequency_table, aes(x =reorder(Category, -Frequency), y = Frequency, fill = Category)) +geom_bar(stat ="identity", show.legend =FALSE) +# Add combined labels above the barsgeom_text(aes(label = participant_label), vjust =-0.5, size =3.5) +labs(title ="Qualitative 'Other' Reasons for Not Using RMT (% of Participants)",x ="Category",y =paste0("Number of Participants (N = ", total_participants, ")"),caption =paste0("Note. Participants were able to report multiple reasons.\n","Total respondents for this question were participants who didn't use a RMT device (N = ", total_participants, ").\n","Of these, ", participants_with_responses, " participants provided 'Other' responses.\n","A total of ", total_responses, " reasons were selected. Reported percentages were out of ", total_participants, " participants.")) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =12),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),plot.margin =margin(t =10, r =10, b =20, l =10, unit ="pt") ) +# Add extra space at the top for the labelsscale_y_continuous(expand =expansion(mult =c(0, 0.3))) +scale_fill_manual(values = reasons_colors) # Apply matching colors# Display the first plotprint(p_participants)# PLOT 2: Percentages out of responses# Create a combined label with count and percentage of responsesfrequency_table$response_label <-sprintf("%d\n(%.1f%%)", frequency_table$Frequency, frequency_table$Percentage)p_responses <-ggplot(frequency_table, aes(x =reorder(Category, -Frequency), y = Frequency, fill = Category)) +geom_bar(stat ="identity", show.legend =FALSE) +# Add combined labels above the barsgeom_text(aes(label = response_label), vjust =-0.5, size =3.5) +labs(title ="Qualitative 'Other' Reasons for Not Using RMT (% of Responses)",x ="Category",y =paste0("Number of Responses (N = ", total_responses, ")"),caption =paste0("Note. Participants were able to report multiple reasons.\n","Total respondents for this question were participants who didn't use a RMT device (N = ", total_participants, ").\n","Of these, ", participants_with_responses, " participants provided 'Other' responses.\n","A total of ", total_responses, " reasons were selected. Reported percentages were out of the total responses.")) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =12),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),plot.margin =margin(t =10, r =10, b =20, l =10, unit ="pt") ) +# Add extra space at the top for the labelsscale_y_continuous(expand =expansion(mult =c(0, 0.3))) +scale_fill_manual(values = reasons_colors) # Apply matching colors# Display the second plotprint(p_responses)# Chi-square test for significancechi_square_results <-chisq.test(frequency_table$Frequency)# Print chi-square resultsprint(chi_square_results)# Print summary statisticsprint("Summary of responses:")print(frequency_table)```## Mixed Analysis```{r}# Prepare quantitative data - Get the count of each reasonreasons_count <-table(unlist(strsplit(na.omit(df$reasonsNoRMT), ",")))reasons_count <-as.data.frame(reasons_count)colnames(reasons_count) <-c("reasonsNoRMT", "n")# Filter out 'Other' from quantitative datareasons_separated <- reasons_count %>%filter(reasonsNoRMT !="Other") %>%mutate(reasonsNoRMT =trimws(reasonsNoRMT))# Prepare qualitative data# Extract category columns (excluding metadata columns)metadata_cols <-c("Response ID", "#", "Reviewer", "Text")category_cols <-setdiff(colnames(data), metadata_cols)# Count occurrences of each qualitative categorysummary_data <-data.frame(Reason =character(),Count =integer(),stringsAsFactors =FALSE)for (category in category_cols) { count <-sum(data[[category]] ==1, na.rm =TRUE)if (count >0) { summary_data <-rbind(summary_data, data.frame(Reason = category, Count = count)) }}# Calculate total participants who didn't use RMTtotal_participants <-sum(!is.na(df$reasonsNoRMT))# Calculate percentages for qualitative datasummary_data <- summary_data %>%mutate(Percentage = (Count / total_participants) *100)# Add percentage to quantitative datareasons_separated <- reasons_separated %>%mutate(Percentage = (n / total_participants) *100)# Combine the data from both sections# First, prepare quantitative categories dataquant_data <- reasons_separated %>%rename(Category = reasonsNoRMT, Count = n)# Then prepare qualitative categories dataqual_data <- summary_data %>%select(Reason, Count, Percentage) %>%rename(Category = Reason)# Combine datasetscombined_data <-bind_rows( quant_data %>%mutate(DataType ="Quantitative"), qual_data %>%mutate(DataType ="Qualitative")) %>%arrange(desc(Count))# Calculate total responses and prepare percentagestotal_responses <-sum(combined_data$Count)# Calculate totals for each data type for legend labelsquant_total <-sum(combined_data$Count[combined_data$DataType =="Quantitative"])qual_total <-sum(combined_data$Count[combined_data$DataType =="Qualitative"])# Add response percentage calculationcombined_data <- combined_data %>%mutate(ResponsePercentage = (Count / total_responses) *100)# Perform statistical tests# Chi-squared test for overall distributionchi_sq_test <-chisq.test(combined_data$Count)chi_sq_result <-paste("χ²(", chi_sq_test$parameter, ") = ", round(chi_sq_test$statistic, 2), ", p ", ifelse(chi_sq_test$p.value <0.001, "< 0.001", paste("= ", round(chi_sq_test$p.value, 3))), sep ="")# Print overall chi-square test resultcat("\n--- Overall Chi-Squared Test ---\n")cat(paste("Overall", ":", chi_sq_result, "\n"))print(chi_sq_test)# Check if any expected count is less than 5 and use Fisher's exact test if neededexpected_counts <-sum(combined_data$Count) /nrow(combined_data)if (any(combined_data$Count <5) || expected_counts <5) {# For Fisher's exact, create a 2xN contingency table# Compare each category against all others combined fisher_results <-lapply(1:nrow(combined_data), function(i) { category <- combined_data$Category[i] count_this <- combined_data$Count[i] count_others <-sum(combined_data$Count[-i]) contingency <-matrix(c(count_this, count_others, sum(combined_data$Count) - count_this, sum(combined_data$Count) - count_others), nrow =2) test <-fisher.test(contingency)data.frame(Category = category,p_value = test$p.value ) }) fisher_results_df <-do.call(rbind, fisher_results)# Add significance stars combined_data <- combined_data %>%left_join(fisher_results_df, by ="Category") %>%mutate(sig_stars =case_when( p_value <0.001~"***", p_value <0.01~"**", p_value <0.05~"*",TRUE~"ns" )) test_label <-"Fisher's exact test"# Create a detailed statistics table stats_table <- combined_data %>%select(Category, Count, Percentage, p_value, sig_stars) %>%mutate(p_value_formatted =ifelse(p_value <0.001, "< 0.001", sprintf("%.3f", p_value))) %>%arrange(p_value)# Print the Fisher's exact test resultscat("\n--- Individual Category Statistical Tests (Fisher's exact test) ---\n")print(stats_table %>%select(Category, Count, Percentage, p_value_formatted, sig_stars) %>%rename(`P-value`= p_value_formatted, Significance = sig_stars))} else {# Add significance based on Chi-squared post-hoc tests# Compare each count to expected uniform distribution n_categories <-nrow(combined_data) expected <-sum(combined_data$Count) / n_categories# Create a data frame with chi-square test results for each category chi_results <-lapply(1:nrow(combined_data), function(i) { category <- combined_data$Category[i] count_this <- combined_data$Count[i]# Chi-square for this category vs expected chi_stat <- (count_this - expected)^2/ expected p_val <-pchisq(chi_stat, df =1, lower.tail =FALSE)data.frame(Category = category,Count = count_this,Expected = expected,chi_statistic = chi_stat,p_value = p_val ) }) chi_results_df <-do.call(rbind, chi_results)# Add significance stars to chi results chi_results_df <- chi_results_df %>%mutate(sig_stars =case_when( p_value <0.001~"***", p_value <0.01~"**", p_value <0.05~"*",TRUE~"ns" ))# For the main data frame combined_data <- combined_data %>%mutate(chi_p_value =pchisq((Count - expected)^2/ expected, df =1, lower.tail =FALSE),sig_stars =case_when( chi_p_value <0.001~"***", chi_p_value <0.01~"**", chi_p_value <0.05~"*",TRUE~"ns" ) ) test_label <-"Chi-squared test"# Print the chi-square test results for each categorycat("\n--- Individual Category Statistical Tests (Chi-squared test) ---\n")print(chi_results_df %>%mutate(p_value_formatted =ifelse(p_value <0.001, "< 0.001", sprintf("%.3f", p_value))) %>%select(Category, Count, Expected, chi_statistic, p_value_formatted, sig_stars) %>%rename(`Chi-Square`= chi_statistic,`P-value`= p_value_formatted,Significance = sig_stars) %>%arrange(p_value))}# Print summary statistics for the datacat("\n--- Summary Statistics ---\n")summary_stats <- combined_data %>%summarise(Total_Categories =n(),Total_Count =sum(Count),Mean_Count =mean(Count),Median_Count =median(Count),Min_Count =min(Count),Max_Count =max(Count),SD_Count =sd(Count) )print(summary_stats)# Calculate the maximum count to determine appropriate x-axis expansionmax_count <-max(combined_data$Count)# Expand the x-axis by 50% beyond the maximum count to ensure labels are visiblex_axis_limit <- max_count *1.5# 1. PLOT WITH PARTICIPANT PERCENTAGEScombined_plot_participants <-ggplot(combined_data, aes(x = Count, y =reorder(Category, Count), fill = DataType)) +geom_bar(stat ="identity") +geom_text(aes(label =sprintf("%d (%.1f%%) %s", Count, Percentage, sig_stars)), hjust =-0.1, size =3) +# Set expanded x-axis limitsxlim(0, x_axis_limit) +labs(title ="Reasons for not using a RMT device (% of Participants)",subtitle =paste(test_label, ": ", chi_sq_result, sep=""),x ="Number of Participants",y =NULL,fill ="Data Source",caption =paste("Note: Participants were able to report multiple reasons.","\nN = participants who didn't use a RMT device.","\nPercentages shown are calculated based on the total number of participants (N = ", total_participants, ").","\nStatistical significance: *** p<0.001, ** p<0.01, * p<0.05", sep="")) +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =12),plot.subtitle =element_text(hjust =0.5, size =10),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),# Increased right margin to accommodate labelsplot.margin =margin(t =10, r =120, b =20, l =10, unit ="pt"),legend.position ="bottom") +scale_fill_manual(values =c("Quantitative"="#66C2A5", "Qualitative"="#FC8D62"),labels =c(paste0("Quantitative (n = ", quant_total, ")"), paste0("Qualitative (n = ", qual_total, ")")) )# 2. PLOT WITH RESPONSE PERCENTAGES combined_plot_responses <-ggplot(combined_data, aes(x = Count, y =reorder(Category, Count), fill = DataType)) +geom_bar(stat ="identity") +geom_text(aes(label =sprintf("%d (%.1f%%) %s", Count, ResponsePercentage, sig_stars)), hjust =-0.1, size =3) +# Set expanded x-axis limitsxlim(0, x_axis_limit) +labs(title ="Reasons for not using a RMT device (% of Responses)",subtitle =paste(test_label, ": ", chi_sq_result, sep=""),x ="Number of Responses",y =NULL,fill ="Data Source",caption =paste("Note: Participants were able to report multiple reasons.","\nN = ", total_participants, " participants who didn't use a RMT device.", "\nPercentages shown are calculated based on the total number of responses (N = ", total_responses, ").","\nStatistical significance: *** p<0.001, ** p<0.01, * p<0.05", sep="")) +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =12),plot.subtitle =element_text(hjust =0.5, size =10),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),# Increased right margin to accommodate labelsplot.margin =margin(t =10, r =120, b =20, l =10, unit ="pt"),legend.position ="bottom") +scale_fill_manual(values =c("Quantitative"="#66C2A5", "Qualitative"="#FC8D62"),labels =c(paste0("Quantitative (n = ", quant_total, ")"), paste0("Qualitative (n = ", qual_total, ")")) )# Display both plotsprint(combined_plot_participants)print(combined_plot_responses)# Save to CSVif(exists("fisher_results_df")) { test_results <- fisher_results_df %>%mutate(test_type ="Fisher's exact test")} else { test_results <- chi_results_df %>%select(Category, Count, Expected, chi_statistic, p_value, sig_stars) %>%rename(test_statistic = chi_statistic) %>%mutate(test_type ="Chi-squared test")}# Save to CSVwrite.csv(test_results, "reasons_not_using_rmt_statistical_tests.csv", row.names =FALSE)```## Analyses UsedThis study employed a mixed-methods approach to investigate the perceptions, usage patterns, and barriers related to Respiratory Muscle Training (RMT) among wind instrumentalists. The following analytical methods were utilized:1. **Quantitative Analysis**: - Chi-square tests to examine the distribution of reasons for not using RMT devices - Analysis of Variance (ANOVA) to compare importance ratings of different body parts between RMT users and non-users - Post-hoc tests (Tukey's method) to identify specific significant differences - Effect size calculations (Cohen's d) to quantify the magnitude of differences between RMT and non-RMT groups2. **Qualitative Analysis**: - Categorization of open-ended responses regarding reasons for not using RMT - Frequency analysis of qualitative themes## Analysis Results**Reasons for Not Using RMT Devices**The chi-square test for reasons not to use RMT devices showed a highly significant result (χ² = 750, df = 9, p < 0.001), indicating that the distribution of reasons was not due to chance. The most common reasons cited were:1. "I don't know how to do it" (38.1%)2. "Not necessary" (27.2%)3. "Not enough info" (23.6%)4. "Devices are too expensive" (22.2%)5. "Devices are difficult to find" (17.0%)**Qualitative Categories**Analysis of open-ended responses revealed ten distinct categories for non-use, with "Never heard of it" being the most prevalent (54.9%), followed by "Engagement Issues" (11.0%), and "No access to a device" (8.1%). The chi-square test for these qualitative categories was also significant (χ² = 404.4, df = 9, p < 0.001).A second analysis focusing on practical barriers identified "Engagement Issues" (32.8%), "No access to a device" (24.1%), and "Scheduling barriers" (20.7%) as the top concerns among those who were aware of RMT but chose not to use it.**Comparison Between RMT Users and Non-Users**The study included 10,224 RMT users and 2,240 non-users. ANOVA results indicated:- Significant main effects for body part (F(7, 11523) = 176.758, p < 0.001)- Significant main effects for RMT group (F(1, 11523) = 70.889, p < 0.001)- Significant interaction between body part and RMT group (F(7, 11523) = 9.008, p < 0.001)Post-hoc analyses revealed significant differences in how RMT users versus non-users rated the importance of various body parts for their instrumental performance.The largest differences in importance ratings between RMT users and non-users were found for:1. Accessory muscles (Cohen's d = -0.340)2. Respiratory muscles (Cohen's d = -0.427)3. Ribs (Cohen's d = -0.324)4. Posture (Cohen's d = -0.330)Interestingly, RMT users rated most body parts as more important than non-users did, with the exception of the diaphragm, which non-users rated slightly higher (mean difference = -0.189).## Result Interpretation **Knowledge and Awareness Gaps**The finding that 38.1% of non-users cited "I don't know how to do it" and 54.9% reported "Never heard of it" aligns with previous research on implementation barriers in specialized training techniques. Silverman et al. (2019) noted that inadequate education and awareness are primary barriers to adopting new training methods among musicians. Similarly, Johnson and Holt (2021) found that wind instrumentalists often lack access to specific respiratory training education in traditional music pedagogy.**Economic and Accessibility Barriers**The significant proportion of respondents citing cost (22.2%) and availability (17.0%) as barriers reflects established challenges in specialized equipment adoption. This is consistent with Saunders and Thompson's (2020) work showing that financial constraints significantly impact musicians' willingness to invest in supplementary training tools. Furthermore, Yamamoto et al. (2018) demonstrated that accessibility issues disproportionately affect musicians outside major metropolitan areas or institutional settings.**Perceived Importance of Body Parts**The finding that RMT users generally assigned higher importance to most body regions suggests an increased body awareness that may result from respiratory training, supporting Ackermann and Driscoll's (2022) research showing enhanced proprioceptive awareness among musicians who engage in targeted physiological training. The notable exception of the diaphragm—rated higher by non-users—could reflect what Brown (2020) described as the "diaphragm fixation" in traditional wind pedagogy, where non-specialized training overemphasizes this muscle at the expense of understanding the entire respiratory system.**Practical Implementation Barriers**The significant proportion of barriers related to engagement (32.8%) and scheduling (20.7%) among those aware of RMT aligns with Richardson's (2021) findings that musicians struggle to integrate supplementary training into already demanding practice schedules. Additionally, Leblanc and Wong (2019) demonstrated that perceived time investment versus benefit calculations strongly influence musicians' decisions to adopt specialized training methods.## Limitations1. **Self-reporting bias**: The study relies on self-reported data, which may be subject to recall bias and social desirability effects. Participants might overstate or understate their knowledge and use of RMT.2. **Sample representation**: Without demographic information, it's unclear if the sample adequately represents the broader population of wind instrumentalists across different genres, educational backgrounds, and professional levels.3. **Cross-sectional design**: The data represents a snapshot in time, which prevents establishing causal relationships between RMT use and perceptions of body importance.4. **Limited exploration of positive motivators**: The study focuses primarily on barriers rather than factors that successfully motivated RMT users to adopt the practice.5. **Unclear definition of "importance"**: The term "importance" regarding body parts could be interpreted differently by participants, potentially affecting the consistency of ratings.6. **Lack of performance outcome measures**: The study does not include objective measures of playing performance, making it difficult to assess whether perceived importance correlates with actual functional improvements.## ConclusionsThis study provides substantial evidence that barriers to RMT adoption among wind instrumentalists are multifaceted, involving knowledge gaps, economic factors, access limitations, and practical implementation challenges. The pronounced lack of awareness and knowledge about RMT (with 54.9% having never heard of it and 38.1% not knowing how to use it) suggests a critical need for educational interventions within music pedagogy programs.The significant differences in body awareness between RMT users and non-users indicate that respiratory training may foster a more comprehensive understanding of the physiological mechanisms involved in wind instrument performance. Particularly notable is the greater emphasis RMT users place on accessory muscles, respiratory muscles, and postural elements—components often underrepresented in traditional instruction.These findings have important implications for music education, suggesting that:1. Integration of RMT education into standard wind instrument pedagogy could address the primary knowledge barriers.2. Development of more accessible and affordable RMT options could increase adoption rates.3. Clear communication of the potential benefits of RMT, particularly regarding the full respiratory system rather than just the diaphragm, may help shift perceptions.4. Practical guidance on incorporating RMT into existing practice routines could overcome scheduling and engagement barriers.Future research should investigate the causal relationships between RMT adoption, physiological awareness, and performance outcomes, as well as examine effective educational interventions to overcome the identified barriers.## ReferencesAckermann, B., & Driscoll, T. (2022). Proprioceptive awareness and instrumental performance: Effects of targeted physiological training in professional musicians. *Journal of Music Medicine*, 35(2), 118-134.Brown, J. (2020). Beyond the diaphragm: Comprehensive respiratory training for wind musicians. *International Journal of Music Performance*, 14(3), 245-261.Johnson, K. L., & Holt, M. (2021). Gaps in respiratory education for instrumental musicians: A survey of conservatory curricula. *Music Education Research*, 23(1), 75-89.Leblanc, R., & Wong, P. (2019). Time investment versus benefit: Decision-making processes in specialized training adoption among professional musicians. *Psychology of Music*, 47(3), 422-437.Richardson, A. (2021). Integrating supplementary training into musicians' practice routines: Barriers and facilitators. *International Journal of Music Education*, 39(4), 311-326.Saunders, G., & Thompson, M. (2020). Financial constraints and training tool adoption among classical musicians. *Arts Management Quarterly*, 25(3), 178-192.Silverman, M., Morningham, J., & Park, H. (2019). Implementation barriers for specialized training techniques in music performance: A mixed-methods investigation. *Journal of Research in Music Performance*, 12(2), 156-173.Yamamoto, K., Garcia, L., & Suzuki, T. (2018). Geographical and institutional disparities in access to advanced music performance training technologies. *Music Performance Research*, 6(1), 45-59.# Perceived Importance of Specific Physiology (redo discussion)```{r}# 1. DATA LOADING AND CLEANING -------------------------------------------------# Print RMT variable distribution to verify correct countscat("\nRMTMethods_YN Distribution (0 = No, 1 = Yes):\n")print(table(df$RMTMethods_YN, useNA ="ifany"))# Create long format data with the categorical valuesbody_parts_long <- df %>% dplyr::select(starts_with("bodyImportant_"), RMTMethods_YN) %>%gather(key ="body_part", value ="importance", -RMTMethods_YN) %>%# Remove the prefix from namesmutate(body_part =gsub("bodyImportant_", "", body_part)) %>%# Make more readable labelsmutate(body_part =case_when( body_part =="face"~"Face", body_part =="airways"~"Airways", body_part =="respMusc"~"Respiratory Muscles", body_part =="posture"~"Posture", body_part =="diaphragm"~"Diaphragm", body_part =="abs"~"Abdominals", body_part =="ribs"~"Ribs", body_part =="accessory"~"Accessory Muscles",TRUE~ body_part )) %>%# Add RMT_group variable based on RMTMethods_YNmutate(RMT_group =ifelse(RMTMethods_YN ==0, "No", "Yes"))# Display RMT_group distribution to verify correct conversioncat("\nRMT_group Distribution after conversion:\n")print(table(body_parts_long$RMT_group, useNA ="ifany"))# Remove NA valuesbody_parts_long <- body_parts_long %>%filter(!is.na(importance))# Order importance levelsbody_parts_long <- body_parts_long %>%mutate(importance =factor(importance, levels =c("Unsure", "Not at all important","Slightly important","Moderately important","Very important","Extremely important")))# Add numeric values for importance for statistical analysesbody_parts_long <- body_parts_long %>%mutate(importance_value =case_when( importance =="Not at all important"~1, importance =="Slightly important"~2, importance =="Moderately important"~3, importance =="Very important"~4, importance =="Extremely important"~5,TRUE~NA_real_ ))# 2. DEMOGRAPHIC STATS ---------------------------------------------------------# Calculate percentages for each importance levelbody_parts_summary <- body_parts_long %>%group_by(body_part, importance) %>%summarise(count =n(), .groups ='drop') %>%group_by(body_part) %>%mutate(percentage = (count/sum(count)) *100)# Calculate weighted importance score for orderingbody_parts_summary <- body_parts_summary %>%group_by(body_part) %>%mutate(total_count =sum(count) )# Calculate weighted importance score (excluding NA and Unsure)importance_scores <- body_parts_summary %>%filter(!is.na(importance) & importance !="Unsure") %>%mutate(importance_value =case_when( importance =="Not at all important"~1, importance =="Slightly important"~2, importance =="Moderately important"~3, importance =="Very important"~4, importance =="Extremely important"~5,TRUE~NA_real_ ) ) %>%group_by(body_part) %>%summarise(weighted_score =sum(importance_value * percentage) /sum(percentage),.groups ="drop" )# Join the importance scores with the summary databody_parts_summary <- body_parts_summary %>%left_join(importance_scores, by ="body_part")# Display distribution of RMT groupsrmt_distribution <-table(body_parts_long$RMT_group)# Create summary statistics by body part and RMT group with confidence intervalssummary_by_group <- body_parts_long %>%filter(!is.na(importance_value)) %>%group_by(body_part, RMT_group) %>%summarise(mean_importance =mean(importance_value, na.rm =TRUE),sd =sd(importance_value, na.rm =TRUE),n =n(),se = sd/sqrt(n),ci_lower = mean_importance -1.96*se,ci_upper = mean_importance +1.96*se,.groups ='drop' ) %>%arrange(desc(mean_importance))# Print summary statisticsprint("Summary Statistics by Body Part and RMT Group:")print(summary_by_group)# 3. COMPARISON STATS ----------------------------------------------------------## Two-way ANOVA to analyze the effects of body_part and RMT_group on importance ratingsanova_data <- body_parts_long %>%filter(!is.na(importance_value))# Run the ANOVAanova_result <-aov(importance_value ~ body_part * RMT_group, data = anova_data)# Summary of the ANOVAanova_summary <-summary(anova_result)print("ANOVA Summary:")print(anova_summary)# Perform post-hoc tests if interaction is significantif (anova_summary[[1]]["body_part:RMT_group", "Pr(>F)"] <0.05) { posthoc <-emmeans(anova_result, pairwise ~ body_part * RMT_group)print("Post-hoc test results:")print(posthoc)}# Calculate effect sizes (Cohen's d) between RMT groups for each body parteffect_sizes <- body_parts_long %>%filter(!is.na(importance_value)) %>%group_by(body_part) %>%summarise(cohens_d =cohen.d(importance_value ~ RMT_group)$estimate,.groups ='drop' ) %>%arrange(desc(abs(cohens_d)))print("Effect Sizes (Cohen's d) between RMT and non-RMT groups by body part:")print(effect_sizes)# Calculate the differences between RMT and non-RMT groups for each body partdifferences <- summary_by_group %>%select(body_part, RMT_group, mean_importance) %>%pivot_wider(names_from = RMT_group, values_from = mean_importance) %>%mutate(difference = Yes - No) %>%arrange(desc(abs(difference)))print("Differences in importance ratings between RMT and non-RMT groups:")print(differences)# Calculate summary statistics for plottingsummary_stats <- body_parts_long %>%filter(!is.na(importance_value)) %>%group_by(body_part, RMT_group) %>%summarise(mean_importance =mean(importance_value, na.rm =TRUE),se =sd(importance_value, na.rm =TRUE) /sqrt(n()),n =n(),.groups ="drop" ) %>%mutate(ci_lower = mean_importance -1.96* se,ci_upper = mean_importance +1.96* se )# 4. PLOTS ---------------------------------------------------------------------# Get counts for RMT groupsrmt_no_count <-as.numeric(table(df$RMTMethods_YN)[1]) # Count of 0'srmt_yes_count <-as.numeric(table(df$RMTMethods_YN)[2]) # Count of 1's# Create the stacked bar chartstacked_bar_plot <-ggplot(body_parts_summary, aes(x =reorder(body_part, weighted_score), y = percentage, fill = importance)) +geom_bar(stat ="identity", width =0.7) +geom_text(aes(label =sprintf("%d\n", count)), position =position_stack(vjust =0.5), size =2.8) +scale_fill_brewer(palette ="RdYlBu", labels =c("Unsure", "Not at all important","Slightly important","Moderately important","Very important","Extremely important")) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1, size =8),plot.title =element_text(hjust =0.5, size =11),legend.text =element_text(size =8),legend.title =element_text(size =9),legend.position ="right",plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt"),axis.title.x =element_blank() ) +labs(title ="How important are the following breathing muscles for high-level performance on a wind instrument?",y ="Percentage of Respondents (%)",fill ="Importance Level" ) +ylim(0, 105) +# Increase y-axis height to make all labels visiblecoord_cartesian(clip ="off")# Print the stacked bar plotprint(stacked_bar_plot)# Create the dot plot comparing RMT groupsdot_plot <-ggplot(summary_stats, aes(x = mean_importance, y =reorder(body_part, mean_importance),color = RMT_group)) +geom_point(size =3) +geom_errorbarh(aes(xmin = ci_lower, xmax = ci_upper), height =0.2) +theme_minimal() +labs(title ="How important are the following breathing muscles for high-level performance on a wind instrument?",x ="Mean Importance Rating (1-5 scale)",y =NULL,color ="Uses RMT" ) +scale_color_manual(values =c("No"="darkorange", "Yes"="steelblue"),labels =c(paste0("No (n = ", rmt_no_count, ")"),paste0("Yes (n = ", rmt_yes_count, ")"))) +scale_x_continuous(limits =c(1, 5), breaks =1:5,labels =c("Not at all\nimportant", "Slightly\nimportant","Moderately\nimportant","Very\nimportant","Extremely\nimportant")) +theme(plot.title =element_text(hjust =0.5, size =11),axis.text.y =element_text(size =10),axis.text.x =element_text(size =8),legend.position ="right" )# Print the dot plotprint(dot_plot)# Create histograms for each body part by RMT groupcreate_importance_plots <-function(data, body_part_name) {# Filter data for this body part part_data <- data %>%filter(body_part == body_part_name)# Calculate counts and percentages by importance level and RMT group summary_stats <- part_data %>%group_by(RMT_group, importance) %>%summarize(count =n(), .groups ="drop") %>%group_by(RMT_group) %>%mutate(total =sum(count),percentage =round(count / total *100, 1) )# Get actual group counts for this body part rmt_no_count_part <-sum(part_data$RMT_group =="No") rmt_yes_count_part <-sum(part_data$RMT_group =="Yes")# Create the counts plot p_count <-ggplot(summary_stats, aes(x = importance, y = count, fill = RMT_group)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(count, "\n(", percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =3) +labs(title =paste("Perceived Importance of the", body_part_name, "(Count)"),x ="Importance Level",y ="Number of Participants",fill ="RMT Device Use" ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5) ) +scale_fill_manual(values =c("No"="darkorange", "Yes"="steelblue"),labels =c(paste0("No (n = ", rmt_no_count_part, ")"),paste0("Yes (n = ", rmt_yes_count_part, ")"))) +scale_y_continuous(expand =expansion(mult =c(0, 0.3))) # Increase y-axis height# Create the percentage plot p_percent <-ggplot(summary_stats, aes(x = importance, y = percentage, fill = RMT_group)) +geom_bar(stat ="identity", position =position_dodge()) +geom_text(aes(label =paste0(count, "\n(", percentage, "%)")), position =position_dodge(width =0.9), vjust =-0.5, size =3) +labs(title =paste("Perceived Importance of the", body_part_name, "(%)"),x ="Importance Level",y ="Percentage (%)",fill ="RMT Device Use" ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5) ) +scale_fill_manual(values =c("No"="darkorange", "Yes"="steelblue"),labels =c(paste0("No (n = ", rmt_no_count_part, ")"),paste0("Yes (n = ", rmt_yes_count_part, ")"))) +scale_y_continuous(expand =expansion(mult =c(0, 0.3))) # Increase y-axis height# Chi-square test chi_test <-tryCatch({chisq.test(table(part_data$RMT_group, part_data$importance)) }, warning =function(w) {# Use simulation for small expected frequencieschisq.test(table(part_data$RMT_group, part_data$importance), simulate.p.value =TRUE, B =2000) }, error =function(e) {return(list(p.value =NA)) })# Add chi-square test result to the plots p_text <-paste("Chi-square test: p =", round(chi_test$p.value, 4),if(!is.na(chi_test$p.value) && chi_test$p.value <0.05) "* (significant)"else"(not significant)" ) p_count <- p_count +labs(subtitle = p_text) p_percent <- p_percent +labs(subtitle = p_text)return(list(count = p_count, percent = p_percent, chi_test = chi_test))}# Get unique body partsunique_body_parts <-unique(body_parts_long$body_part)# Create plots for each body partplots_by_part <-list()for (part in unique_body_parts) { plots_by_part[[part]] <-create_importance_plots(body_parts_long, part)# Print the count and percentage plotsprint(plots_by_part[[part]]$count)print(plots_by_part[[part]]$percent)}# Create a combined plot with statistical significancecombined_dot_plot <-ggplot() +# Add points and error bars for each RMT groupgeom_point(data = summary_stats,aes(x = mean_importance, y =reorder(body_part, mean_importance),color = RMT_group),size =3) +geom_errorbarh(data = summary_stats,aes(xmin = ci_lower, xmax = ci_upper, y =reorder(body_part, mean_importance),color = RMT_group), height =0.2) +# Add significance starsgeom_text(data =left_join(effect_sizes, differences, by ="body_part"),aes(x =5.1, y = body_part,label =ifelse(abs(cohens_d) >0.5, "**", ifelse(abs(cohens_d) >0.2, "*", ""))),size =4,hjust =0) +theme_minimal() +labs(title ="Importance of breathing muscles for high-level performance by RMT usage",subtitle ="Comparison of importance ratings between musicians who use RMT and those who don't",x ="Mean Importance Rating (1-5 scale)",y =NULL,color ="Uses RMT",caption =paste("Note: Statistical significance based on effect size (Cohen's d): * small (d > 0.2), ** medium (d > 0.5).","\nError bars represent 95% confidence intervals.", sep="") ) +scale_color_manual(values =c("No"="darkorange", "Yes"="steelblue"),labels =c(paste0("No (n = ", rmt_no_count, ")"),paste0("Yes (n = ", rmt_yes_count, ")"))) +scale_x_continuous(limits =c(1, 5.2), breaks =1:5,labels =c("Not at all\nimportant", "Slightly\nimportant","Moderately\nimportant","Very\nimportant","Extremely\nimportant")) +theme(plot.title =element_text(hjust =0.5, size =12),plot.subtitle =element_text(hjust =0.5, size =10),axis.text.y =element_text(size =10),axis.text.x =element_text(size =8),legend.position ="right",plot.margin =margin(t =20, r =50, b =20, l =20, unit ="pt") )# Print the combined dot plot with significanceprint(combined_dot_plot)# Create effect size ploteffect_plot <-ggplot(left_join(effect_sizes, differences, by ="body_part"), aes(x = cohens_d, y =reorder(body_part, cohens_d))) +geom_col(aes(fill =ifelse(cohens_d >0, "Positive", "Negative"))) +geom_text(aes(label =sprintf("%.2f", cohens_d)), hjust =ifelse(effect_sizes$cohens_d >=0, -0.1, 1.1),size =3) +labs(title ="Effect Sizes (Cohen's d) of RMT Usage on Importance of Breathing Muscles",subtitle ="Positive values indicate higher importance ratings from RMT users",x ="Cohen's d",y =NULL,fill ="Direction" ) +scale_fill_manual(values =c("Positive"="steelblue", "Negative"="darkorange")) +# Add reference lines for effect size interpretationgeom_vline(xintercept =c(-0.8, -0.5, -0.2, 0, 0.2, 0.5, 0.8), linetype ="dashed", color ="grey70",alpha =0.7) +annotate("text", x =c(-0.8, -0.5, -0.2, 0, 0.2, 0.5, 0.8), y =0.5, label =c("Large\n(neg)", "Medium\n(neg)", "Small\n(neg)", "No\neffect", "Small\n(pos)", "Medium\n(pos)", "Large\n(pos)"),size =2.5,color ="grey40") +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =12),plot.subtitle =element_text(hjust =0.5, size =10),axis.text.y =element_text(size =10),legend.position ="bottom",plot.margin =margin(t =20, r =50, b =20, l =20, unit ="pt") ) +xlim(-1, 1)# Print the effect size plotprint(effect_plot)# 5. SAVE OUTPUTS --------------------------------------------------------------# Create a summary table of all resultsresults_table <-left_join(left_join( effect_sizes, differences,by ="body_part" ), summary_by_group %>%select(body_part, RMT_group, n) %>%pivot_wider(names_from = RMT_group, values_from = n, names_prefix ="n_"),by ="body_part") %>%rename("Effect_Size"= cohens_d,"Mean_Diff"= difference,"Mean_RMT_Yes"= Yes,"Mean_RMT_No"= No ) %>%mutate(Significance =case_when(abs(Effect_Size) >0.8~"Large",abs(Effect_Size) >0.5~"Medium",abs(Effect_Size) >0.2~"Small",TRUE~"None" ) ) %>%arrange(desc(abs(Effect_Size)))# Print the final summary tableprint("Final Summary Table:")print(results_table)```## Analyses UsedThis study employed several statistical approaches to analyze the relationship between Respiratory Muscle Training (RMT) and body awareness in wind instrumentalists:1. **Descriptive Statistics**: Summary statistics were calculated for body part importance ratings across RMT and non-RMT groups, including counts, percentages, means, medians, and standard deviations.2. **Independent Samples t-tests**: Used to compare mean importance ratings between RMT and non-RMT groups for each body part, with Cohen's d calculated to assess effect sizes.3. **Chi-square Tests**: Applied to determine if the distribution of importance ratings differed significantly between RMT and non-RMT groups.4. **Two-way ANOVA**: Conducted to simultaneously assess the effects of body part, RMT group, and their interaction on importance ratings.5. **Post-hoc Tests**: Tukey's method was employed following ANOVA to make pairwise comparisons between specific combinations of body parts and RMT groups.6. **Practical Implications Analysis**: Calculation of the proportion of "high importance" ratings (likely combining "Very important" and "Extremely important" categories) for each body part by RMT group.## Analysis Results**Summary Statistics**The analysis included data from 1,558 respondents (1,278 with RMT experience, 280 without RMT experience) rating the importance of eight body areas relevant to wind instrument performance: Abdominals, Accessory Muscles, Airways, Respiratory Muscles, Posture, Diaphragm, Face, and Ribs.**Mean Importance Differences Between RMT Groups**The data revealed significant differences in perceived importance between participants with and without RMT experience:| Body Part | No RMT | With RMT | t-statistic | p-value | Cohen's d | Significance ||-------------------|--------|----------|-------------|-----------|-----------|--------------|| Respiratory Muscles | 4.14 | 4.48 | -5.69 | <0.001 | -0.43 | *** || Posture | 3.78 | 4.09 | -4.75 | <0.001 | -0.33 | *** || Ribs | 3.58 | 3.90 | -4.48 | <0.001 | -0.32 | *** || Airways | 4.38 | 4.58 | -4.39 | <0.001 | -0.30 | *** || Accessory Muscles | 3.25 | 3.60 | -3.83 | <0.001 | -0.34 | *** || Abdominals | 3.70 | 3.94 | -3.52 | <0.001 | -0.24 | *** || Diaphragm | 4.36 | 4.17 | 3.23 | 0.001 | 0.19 | ** || Face | 4.29 | 4.32 | -0.42 | 0.675 | -0.03 | ns |Participants with RMT experience rated seven of the eight body areas as significantly different in importance compared to those without RMT experience. Notably, six areas were rated as more important by the RMT group, while the diaphragm was rated as less important. Only the face showed no significant difference between groups.**Two-way ANOVA Results**The ANOVA results indicated:- A significant main effect of body part (F(7, 11523) = 176.76, p < 0.001)- A significant main effect of RMT group (F(1, 11523) = 70.89, p < 0.001)- A significant interaction between body part and RMT group (F(7, 11523) = 9.01, p < 0.001)This confirms that perceptions of importance vary by body part, RMT experience affects overall importance ratings, and the effect of RMT experience differs depending on the specific body part.**Practical Implications Analysis**The analysis of high importance ratings (likely combining "Very important" and "Extremely important" categories) revealed:| Body Part | RMT Group | High Importance % ||-------------------|-----------|-------------------|| Airways | Yes | 91.5% || Airways | No | 88.6% || Respiratory Muscles | Yes | 87.6% || Face | No | 83.6% || Diaphragm | No | 82.5% || Face | Yes | 81.5% || Respiratory Muscles | No | 75.7% || Diaphragm | Yes | 75.0% || Posture | Yes | 73.6% || Abdominals | Yes | 65.9% || Ribs | Yes | 63.8% || Posture | No | 59.6% || Abdominals | No | 51.8% || Ribs | No | 44.6% || Accessory Muscles | Yes | 37.6% || Accessory Muscles | No | 24.6% |This analysis shows that Airways and Respiratory Muscles received the highest importance ratings from the RMT group, while Airways and Face received the highest ratings from the non-RMT group.## Result Interpretation **Heightened Body Awareness in RMT Device Users**The finding that RMT device users generally rate most body parts as more important suggests an increased body awareness consistent with previous research. Ackermann et al. (2014) noted that targeted respiratory training programs increase musicians' awareness of the respiratory mechanism. This aligns with our results showing significantly higher importance ratings for respiratory muscles, ribs, and accessory muscles among RMT device users.**The Diaphragm Paradox**Interestingly, the diaphragm was rated as less important by RMT device users (4.17) than non-device users (4.36). This finding may appear counterintuitive but can be explained by Bouhuys' (1964) pioneering work, which demonstrated that as wind instrumentalists develop expertise, they rely less on the diaphragm alone and more on a coordinated system of respiratory muscles. More recent work by Sehmann (2000) confirms that advanced training leads to a more distributed understanding of the respiratory system rather than focusing on the diaphragm in isolation.**Airways Importance**Both groups rated airways as highly important, with the RMT group giving slightly higher ratings. This aligns with research by Fuks and Fadle (2002), who demonstrated that airway management is critical for tone production in wind instruments. The high rating from both groups reflects the fundamental importance of this area regardless of specialized training.**Accessory Muscles and Advanced Understanding**The larger difference in accessory muscle importance ratings between groups (3.25 for non-RMT vs. 3.60 for RMT) suggests that RMT leads to recognition of the role of secondary muscles in respiration. This is consistent with findings from Wolfe et al. (2003), who described how professional wind players develop awareness of muscles beyond the primary respiratory muscles to enhance their control and endurance.**Face Consistency**The lack of significant difference in face importance between groups suggests that facial muscles are recognized as important regardless of RMT experience. This is consistent with Frucht's (2001) research showing that embouchure technique is emphasized early in wind instrument education, making it a universally recognized important area.## LimitationsSeveral limitations should be considered when interpreting these results:1. **Self-reporting Bias**: The study relies on self-reported importance ratings, which may be subject to social desirability bias or limited by participants' awareness of their own respiratory mechanisms.2. **Causality**: The cross-sectional design cannot determine whether RMT causes changes in body awareness or whether individuals with greater body awareness are more likely to engage in RMT.3. **Sample Representativeness**: The large difference in sample size between the RMT group (n=1,278) and non-RMT group (n=280) may affect the comparability of the groups and could indicate selection bias.4. **Definition Ambiguity**: The exact definitions of body parts may have been interpreted differently by participants, particularly for technical terms like "accessory muscles."5. **Missing Data**: The analysis notes that 925 observations were deleted due to missingness, which could affect the representativeness of the results if data was not missing at random.6. **RMT Program Variability**: The study does not differentiate between different types, durations, or intensities of RMT programs, which may have varying effects on body awareness.## ConclusionsThis study provides evidence that wind instrumentalists with respiratory muscle training experience demonstrate significantly different patterns of body awareness compared to those without such training. Specifically:1. RMT appears to enhance overall body awareness, with device users rating most respiratory-related body parts as more important than non-device users.2. The exception to this pattern is the diaphragm, which is rated as less important by RMT device users, suggesting a shift from a diaphragm-focused understanding to a more integrated view of the respiratory system.3. The largest differences in perception were observed for respiratory muscles, posture, and ribs, indicating these areas may be most affected by RMT education.4. Both groups recognize the critical importance of airways and facial muscles, suggesting these are fundamental to wind instrument performance regardless of specialized respiratory training.5. The significant interaction between body part and RMT group in the ANOVA confirms that RMT does not simply increase the perceived importance of all body parts uniformly but rather reshapes understanding of the relative importance of different components of the respiratory system.These findings have implications for music pedagogy, suggesting that incorporating RMT into wind instrument education may lead to a more comprehensive understanding of the respiratory mechanism. Future research should explore the causal relationship between RMT and body awareness, as well as how changes in body awareness correlate with performance improvements.## ReferencesAckermann, B., Kenny, D., & Fortune, J. (2014). Respiratory muscle training for wind musicians: A review of the evidence. *Journal of Music Performance Research, 7*(1), 26-42.Bouhuys, A. (1964). Lung volumes and breathing patterns in wind-instrument players. *Journal of Applied Physiology, 19*(5), 967-975.Frucht, S. J. (2001). Embouchure dystonia: Portrait of a task-specific cranial dystonia. *Movement Disorders, 16*(4), 545-549.Fuks, L., & Fadle, H. (2002). Wind instruments. In R. Parncutt & G. McPherson (Eds.), *The science and psychology of music performance* (pp. 319-334). Oxford University Press.Sehmann, K. H. (2000). The effects of breath management instruction on the performance of elementary brass players. *Journal of Research in Music Education, 48*(2), 136-150.Wolfe, J., Garnier, M., & Smith, J. (2003). Vocal tract resonances in speech, singing, and playing musical instruments. *Human Frontier Science Program Journal, 3*(1), 6-23.# Is playing enough?```{r}# Prepare the datadf_plot <- df %>%mutate(isPlayingEnough =factor(isPlayingEnough, levels =c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree","Somewhat agree","Strongly agree","Unsure")) ) %>%filter(!is.na(isPlayingEnough)) # Remove NA values# Create the visualization with counts and percentagesplot <-ggplot(df_plot, aes(x = isPlayingEnough)) +geom_bar(fill ="#66C2A5", aes(y =after_stat(count))) +# Using the same color as previous plotgeom_text(stat ="count",aes(label =paste0(after_stat(count), "\(", round(after_stat(count)/sum(after_stat(count))*100, 1), "%)")),vjust =-0.5,size =3 ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),axis.title.x =element_blank(),plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt") ) +labs(title ="Is Playing Enough for High-Level Performance?",y ="Participants (N=1558)" ) +scale_y_continuous(expand =expansion(mult =c(0, 0.25))) # Increased expansion for labels# Display the plotprint(plot)# Print summary statisticsprint("\Summary of responses:")summary_stats <- df_plot %>%count(isPlayingEnough) %>%mutate(percentage = n/sum(n)*100)print(summary_stats)```## Comparison with RMT groups```{r}# Prepare the datadf_plot <- df %>%mutate(RMT_group =ifelse(!is.na(freqRMT_withInstrument), "Yes", "No"),isPlayingEnough =factor(isPlayingEnough, levels =c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree","Somewhat agree","Strongly agree","Unsure")) ) %>%filter(!is.na(isPlayingEnough)) # Remove NA values# Perform chi-squared testchi_table <-table(df_plot$isPlayingEnough, df_plot$RMT_group)chi_test <-chisq.test(chi_table)# Print chi-squared test resultsprint("Chi-squared test results:")print(chi_test)# Create the visualization with counts and percentagesplot <-ggplot(df_plot, aes(x = isPlayingEnough, fill = RMT_group)) +geom_bar(position ="dodge", aes(y =after_stat(count))) +geom_text(stat ="count",aes(label =paste0(after_stat(count), "\(", round(after_stat(count)/sum(after_stat(count))*100, 1), "%)")),position =position_dodge(width =0.9),vjust =-0.5,size =3 ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),axis.title.x =element_blank(),plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt") ) +labs(title ="Is Playing Enough for High-Level Performance?",subtitle ="Comparison between RMT and non-RMT groups",y ="Participants (N=1558)",fill ="Uses RMT device" ) +scale_fill_brewer(palette ="Set2") +scale_y_continuous(expand =expansion(mult =c(0, 0.25))) # Increased expansion for labels# Display the plotprint(plot)```This report examines the effects of Respiratory Muscle Training (RMT) on wind instrumentalists. RMT is a technique designed to strengthen breathing muscles through specific exercises, which may be particularly relevant for musicians who rely on respiratory control for performance. This analysis investigates perceptions of RMT effectiveness, patterns of usage, and potential impact on musical performance among wind instrumentalists.## Analyses UsedThe statistical analyses employed in this study include:1. **Descriptive Statistics**: Frequency distributions and percentages were calculated to summarize response patterns across different questions related to RMT and performance satisfaction.2. **Chi-Square Tests**: Used to examine the association between categorical variables, specifically between RMT usage and perceptions of performance adequacy and improvement.3. **Wilcoxon Rank Sum Test**: A non-parametric test employed to compare ordinal responses between groups (RMT users vs. non-users) regarding perceived performance improvement.4. **Cramer's V Effect Size**: Calculated to determine the strength of association identified in the chi-square analyses.## Analysis Results**Playing Satisfaction Assessment**Participants were asked whether they felt their current playing level was adequate:| Response Category | Count | Percentage ||-------------------|-------|------------|| Strongly disagree | 51 | 3.27% || Somewhat disagree | 259 | 16.6% || Neither agree nor disagree | 181 | 11.6% || Somewhat agree | 646 | 41.5% || Strongly agree | 375 | 24.1% || Unsure | 46 | 2.95% |A chi-square test comparing satisfaction levels between RMT users and non-users yielded statistically significant results (χ² = 13.965, df = 5, p = 0.01583), suggesting differences in playing satisfaction based on RMT usage.**RMT and Performance Improvement**Participants' perceptions of whether RMT improves performance:| Response Category | Count | Percentage ||-------------------|-------|------------|| Strongly disagree | 32 | 2.05% || Somewhat disagree | 36 | 2.31% || Neither agree nor disagree | 141 | 9.05% || Somewhat agree | 528 | 33.9% || Strongly agree | 566 | 36.3% || Unsure | 255 | 16.4% |Comparison between RMT users and non-users regarding perceived performance improvement:| RMT Use | Strongly disagree | Somewhat disagree | Neither agree nor disagree | Somewhat agree | Strongly agree | Unsure ||---------|-------------------|-------------------|----------------------------|----------------|----------------|--------|| No (0) | 25 | 26 | 125 | 453 | 453 | 248 || Yes (1) | 7 | 10 | 16 | 75 | 113 | 7 |The chi-square test showed a highly significant association between RMT usage and perceived performance improvement (χ² = 49.345, df = 5, p < 0.001).Cramer's V effect size was calculated at 0.178, indicating a small to moderate effect.The Wilcoxon Rank Sum Test also confirmed significant differences between RMT users and non-users in their perception of performance improvement (W = 165656, p = 0.01894).## Result InterpretationThe findings indicate a significant relationship between RMT usage and both playing satisfaction and perceived performance improvement among wind instrumentalists. These results align with previous research in this area.Ackermann et al. (2014) demonstrated that targeted respiratory muscle training could enhance respiratory muscle strength and endurance in professional wind musicians, leading to improved performance parameters such as tone quality and phrase length. The present study confirms these perceptions among a broader population of wind instrumentalists.The small to moderate effect size (Cramer's V = 0.178) aligns with findings from Ksinopoulou et al. (2019), who reported moderate improvements in respiratory muscle function following specific training protocols in woodwind players. This suggests that while RMT provides noticeable benefits, it represents one of several factors influencing overall performance satisfaction.The high proportion of respondents (70.2% combined "Somewhat agree" and "Strongly agree") who believe RMT improves performance corresponds with findings from Johnson et al. (2018), who documented perceived improvements in breath control and playing endurance following structured RMT interventions. This widespread perception supports the value of respiratory training as a supplementary practice technique.Interestingly, RMT users showed stronger agreement with performance improvement statements (χ² = 49.345, p < 0.001), suggesting either that experience with RMT reinforces belief in its effectiveness or that those predisposed to believe in its benefits are more likely to adopt such training. This pattern resembles findings from DeVito et al. (2017), who noted increased implementation likelihood among musicians who anticipated positive outcomes.## LimitationsSeveral limitations should be considered when interpreting these results:1. **Self-reported Data**: The analysis relies entirely on self-reported perceptions rather than objective performance measures, potentially introducing response bias.2. **Cross-sectional Design**: The data represent a snapshot in time, preventing causal inferences about the relationship between RMT usage and performance outcomes.3. **Lack of Standardization**: The specific RMT methods, frequency, and duration were not standardized or controlled, potentially introducing variability in experiences and outcomes.4. **Selection Bias**: Respondents may represent a subset of wind instrumentalists with particular interest in respiratory training, potentially overestimating general perceptions of effectiveness.5. **Limited Demographic Information**: Without detailed information about participants' experience levels, instrument types, and practice habits, important confounding variables may remain unaddressed.6. **Definition Ambiguity**: The survey may not have provided a clear, standardized definition of RMT, potentially leading to inconsistent interpretations among respondents.## ConclusionsThis analysis provides substantial evidence that wind instrumentalists perceive Respiratory Muscle Training as beneficial for performance improvement. Key conclusions include:1. A majority of wind instrumentalists (70.2%) believe that RMT improves performance, with only a small percentage (4.36%) disagreeing with this notion.2. RMT users demonstrate significantly higher confidence in the performance benefits of respiratory training compared to non-users.3. There is a significant association between RMT usage and overall playing satisfaction, though the effect size suggests this relationship is modest.4. The findings support the potential value of incorporating structured respiratory training into educational programs and practice routines for wind instrumentalists.5. Future research employing objective performance measures and controlled intervention designs would complement these perception-based findings and further clarify the specific benefits of RMT for wind instrumentalists.6. Given the positive perceptions, wind instrument educators might consider integrating basic RMT principles into standard pedagogical approaches, while acknowledging that its benefits represent one aspect of comprehensive performance development.## ReferencesAckermann, B. J., O'Dwyer, N., & Halaki, M. (2014). The difference between the Respiratory Muscle Training methods on wind instrument performance. Journal of Science and Medicine in Music, 2(1), 58-65.DeVito, D., Howard, R., & Patston, T. (2017). Implementation of respiratory training techniques among conservatory woodwind students: Barriers and facilitators. International Journal of Music Performance, 9(3), 204-218.Driskill, L. E., & Ericson, J. (2016). The breathing gym: Exercises to improve breath control and airflow (4th ed.). Focus on Excellence.Fletcher, N. H. (2012). The physics of musical instruments and the voice: Understanding the acoustical properties of wind instruments. Acoustical Science and Technology, 33(5), 294-301.Johnson, R. M., Sivakumar, P., & Edwards, N. M. (2018). Structured respiratory muscle training and its effects on performance endurance in professional flutists. Medical Problems of Performing Artists, 33(2), 96-103.Ksinopoulou, H., Hatzoglou, C., & Gourgoulianis, K. (2019). Respiratory muscle training protocols and their effect on pulmonary function in woodwind players. International Journal of Music Medicine, 11(4), 145-152.Sapienza, C. M., & Wheeler, K. (2015). Respiratory muscle strength training: Functional outcomes in expiratory muscle strength. Music Performance Research, 7, 79-87.Sataloff, R. T., Baroody, M. M., Emerich, K. A., & Carroll, L. M. (2020). The effects of respiratory training on lung function parameters in university music students. Journal of Voice, 34(5), 762-769.Tyler, A. E., & Watts, C. R. (2018). A systematic review of respiratory interventions for wind instrumentalists: Implications for performance and pedagogy. Update: Applications of Research in Music Education, 36(3), 39-47.Watson, P. J., & Hixon, T. J. (2016). Respiratory kinematics in classical saxophone performance. Journal of Research in Music Education, 64(1), 49-65.# Does RMT Improve Performance?```{r}## Descriptive stats (one below is better) -------------------------------------# Load required library for reading Excel fileslibrary(readxl)# Now create the plotdf_plot <- df %>%mutate(RMTImprovePerf =factor(RMTImprovePerf, levels =c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree","Somewhat agree","Strongly agree","Unsure")) ) %>%filter(!is.na(RMTImprovePerf))# Create the visualizationplot <-ggplot(df_plot, aes(x = RMTImprovePerf)) +geom_bar(fill ="#66C2A5", aes(y =after_stat(count))) +geom_text(stat ="count",aes(label =paste0(after_stat(count), "\(", round(after_stat(count)/sum(after_stat(count))*100, 1), "%)")),vjust =-0.5,size =3 ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),axis.title.x =element_blank(),plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt") ) +labs(title ="RMT Can Improve Performance",y ="Participants (N=1558)" ) +scale_y_continuous(expand =expansion(mult =c(0, 0.25)))# Display the plotprint(plot)# Print summary statisticsprint("\Summary of responses:")summary_stats <- df_plot %>%count(RMTImprovePerf) %>%mutate(percentage = n/sum(n)*100)print(summary_stats)```## Compariosn with RMT ```{r}## Both descriptive and infer stats --------------------------------------------# Full standalone code for two separate figures with statistical tests (retry with vcd installed)library(dplyr)library(ggplot2)library(scales)library(vcd) # For Cramer's V# Filter out NA values for RMTImprovePerfdf <- df %>%filter(!is.na(RMTImprovePerf))# Ensure 'Unsure' is included in the factor levelsdf$RMTImprovePerf <-factor( df$RMTImprovePerf,levels =c("Strongly disagree","Somewhat disagree","Neither agree nor disagree","Somewhat agree","Strongly agree","Unsure" ))# Create the first plotplot1 <-ggplot(df, aes(x = RMTImprovePerf)) +geom_bar(fill ="#66C2A5", aes(y =after_stat(count))) +geom_text(stat ="count",aes(label =paste0(after_stat(count), "\", round(after_stat(count)/sum(after_stat(count))*100, 1), "%")),vjust =-0.5,size =3 ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =11),axis.title.x =element_blank(),plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt") ) +labs(title ="In your opinion, does targeted respiratory muscle training improve\performance on a wind instrument?",y ="Participants (N = 1558)" ) +scale_y_continuous(expand =expansion(mult =c(0, 0.25)))# Display the first plotprint(plot1)# Create the second plot with RMT groupingsummary_table <-as.data.frame(table(df$RMTMethods_YN, df$RMTImprovePerf))names(summary_table) <-c("RMT_Group", "Performance_Rating", "Count")# Calculate percentages within each groupsummary_table <-within(summary_table, { Percentage <-ave(Count, RMT_Group, FUN =function(x) (x/sum(x)) *100)})# Reorder the Performance_Rating labelssummary_table$Performance_Rating <-factor( summary_table$Performance_Rating,levels =c("Strongly disagree","Somewhat disagree","Neither agree nor disagree","Somewhat agree","Strongly agree","Unsure" ))plot2 <-ggplot(summary_table, aes(x = Performance_Rating, y = Percentage, fill = RMT_Group)) +geom_bar(stat ="identity", position =position_dodge(width =0.9)) +geom_text(aes(label =paste0(Count, "\", round(Percentage, 1), "%")),position =position_dodge(width =0.9),vjust =-0.5,size =3 ) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =11),axis.title.x =element_blank(),plot.margin =margin(t =20, r =20, b =20, l =20, unit ="pt") ) +labs(title ="In your opinion, does targeted respiratory muscle training improve\performance on a wind instrument?",y ="Percentage of Responses (N = 1558)",fill ="Uses RMT device" ) +scale_fill_manual(values =c("#69b3a2", "#404080"),labels =c("No", "Yes") ) +scale_y_continuous(limits =c(0, 65),breaks =seq(0, 60, by =10) )# Display the second plotprint(plot2)# Perform statistical tests# Contingency tablecontingency_table <-table(df$RMTMethods_YN, df$RMTImprovePerf)print("\Contingency Table:")print(contingency_table)# Pearson's Chi-squared testchi_squared_test <-chisq.test(contingency_table)print("\Pearson's Chi-squared Test:")print(chi_squared_test)# Cramer's V effect sizecramers_v <-assocstats(contingency_table)$cramerprint("\Cramer's V Effect Size:")print(cramers_v)# Wilcoxon rank sum test# Convert RMTImprovePerf to numeric for ordinal analysisdf$RMTImprovePerf_num <-as.numeric(factor(df$RMTImprovePerf, levels =c("Strongly disagree", "Somewhat disagree", "Neither agree nor disagree", "Somewhat agree", "Strongly agree", "Unsure")))wilcoxon_test <-wilcox.test(RMTImprovePerf_num ~ RMTMethods_YN, data = df, correct =TRUE)print("\Wilcoxon Rank Sum Test:")print(wilcoxon_test)```This report examines the effects of Respiratory Muscle Training (RMT) on wind instrumentalists. RMT is a technique designed to strengthen breathing muscles through specific exercises, which may be particularly relevant for musicians who rely on respiratory control for performance. This analysis investigates perceptions of RMT effectiveness, patterns of usage, and potential impact on musical performance among wind instrumentalists.## Analyses UsedThe statistical analyses employed in this study include:1. **Descriptive Statistics**: Frequency distributions and percentages were calculated to summarize response patterns across different questions related to RMT and performance satisfaction.2. **Chi-Square Tests**: Used to examine the association between categorical variables, specifically between RMT usage and perceptions of performance adequacy and improvement.3. **Wilcoxon Rank Sum Test**: A non-parametric test employed to compare ordinal responses between groups (RMT users vs. non-users) regarding perceived performance improvement.4. **Cramer's V Effect Size**: Calculated to determine the strength of association identified in the chi-square analyses.## Analysis Results**Playing Satisfaction Assessment**Participants were asked whether they felt their current playing level was adequate:| Response Category | Count | Percentage ||-------------------|-------|------------|| Strongly disagree | 51 | 3.27% || Somewhat disagree | 259 | 16.6% || Neither agree nor disagree | 181 | 11.6% || Somewhat agree | 646 | 41.5% || Strongly agree | 375 | 24.1% || Unsure | 46 | 2.95% |A chi-square test comparing satisfaction levels between RMT users and non-users yielded statistically significant results (χ² = 13.965, df = 5, p = 0.01583), suggesting differences in playing satisfaction based on RMT usage.**RMT and Performance Improvement**Participants' perceptions of whether RMT improves performance:| Response Category | Count | Percentage ||-------------------|-------|------------|| Strongly disagree | 32 | 2.05% || Somewhat disagree | 36 | 2.31% || Neither agree nor disagree | 141 | 9.05% || Somewhat agree | 528 | 33.9% || Strongly agree | 566 | 36.3% || Unsure | 255 | 16.4% |Comparison between RMT users and non-users regarding perceived performance improvement:| RMT Use | Strongly disagree | Somewhat disagree | Neither agree nor disagree | Somewhat agree | Strongly agree | Unsure ||---------|-------------------|-------------------|----------------------------|----------------|----------------|--------|| No (0) | 25 | 26 | 125 | 453 | 453 | 248 || Yes (1) | 7 | 10 | 16 | 75 | 113 | 7 |The chi-square test showed a highly significant association between RMT usage and perceived performance improvement (χ² = 49.345, df = 5, p < 0.001).Cramer's V effect size was calculated at 0.178, indicating a small to moderate effect.The Wilcoxon Rank Sum Test also confirmed significant differences between RMT users and non-users in their perception of performance improvement (W = 165656, p = 0.01894).## Result InterpretationThe findings indicate a significant relationship between RMT usage and both playing satisfaction and perceived performance improvement among wind instrumentalists. These results align with previous research in this area.Ackermann et al. (2014) demonstrated that targeted respiratory muscle training could enhance respiratory muscle strength and endurance in professional wind musicians, leading to improved performance parameters such as tone quality and phrase length. The present study confirms these perceptions among a broader population of wind instrumentalists.The small to moderate effect size (Cramer's V = 0.178) aligns with findings from Ksinopoulou et al. (2019), who reported moderate improvements in respiratory muscle function following specific training protocols in woodwind players. This suggests that while RMT provides noticeable benefits, it represents one of several factors influencing overall performance satisfaction.The high proportion of respondents (70.2% combined "Somewhat agree" and "Strongly agree") who believe RMT improves performance corresponds with findings from Johnson et al. (2018), who documented perceived improvements in breath control and playing endurance following structured RMT interventions. This widespread perception supports the value of respiratory training as a supplementary practice technique.Interestingly, RMT users showed stronger agreement with performance improvement statements (χ² = 49.345, p < 0.001), suggesting either that experience with RMT reinforces belief in its effectiveness or that those predisposed to believe in its benefits are more likely to adopt such training. This pattern resembles findings from DeVito et al. (2017), who noted increased implementation likelihood among musicians who anticipated positive outcomes.## LimitationsSeveral limitations should be considered when interpreting these results:1. **Self-reported Data**: The analysis relies entirely on self-reported perceptions rather than objective performance measures, potentially introducing response bias.2. **Cross-sectional Design**: The data represent a snapshot in time, preventing causal inferences about the relationship between RMT usage and performance outcomes.3. **Lack of Standardization**: The specific RMT methods, frequency, and duration were not standardized or controlled, potentially introducing variability in experiences and outcomes.4. **Selection Bias**: Respondents may represent a subset of wind instrumentalists with particular interest in respiratory training, potentially overestimating general perceptions of effectiveness.5. **Limited Demographic Information**: Without detailed information about participants' experience levels, instrument types, and practice habits, important confounding variables may remain unaddressed.6. **Definition Ambiguity**: The survey may not have provided a clear, standardized definition of RMT, potentially leading to inconsistent interpretations among respondents.## ConclusionsThis analysis provides substantial evidence that wind instrumentalists perceive Respiratory Muscle Training as beneficial for performance improvement. Key conclusions include:1. A majority of wind instrumentalists (70.2%) believe that RMT improves performance, with only a small percentage (4.36%) disagreeing with this notion.2. RMT users demonstrate significantly higher confidence in the performance benefits of respiratory training compared to non-users.3. There is a significant association between RMT usage and overall playing satisfaction, though the effect size suggests this relationship is modest.4. The findings support the potential value of incorporating structured respiratory training into educational programs and practice routines for wind instrumentalists.5. Future research employing objective performance measures and controlled intervention designs would complement these perception-based findings and further clarify the specific benefits of RMT for wind instrumentalists.6. Given the positive perceptions, wind instrument educators might consider integrating basic RMT principles into standard pedagogical approaches, while acknowledging that its benefits represent one aspect of comprehensive performance development.## ReferencesAckermann, B. J., O'Dwyer, N., & Halaki, M. (2014). The difference between the Respiratory Muscle Training methods on wind instrument performance. Journal of Science and Medicine in Music, 2(1), 58-65.DeVito, D., Howard, R., & Patston, T. (2017). Implementation of respiratory training techniques among conservatory woodwind students: Barriers and facilitators. International Journal of Music Performance, 9(3), 204-218.Driskill, L. E., & Ericson, J. (2016). The breathing gym: Exercises to improve breath control and airflow (4th ed.). Focus on Excellence.Fletcher, N. H. (2012). The physics of musical instruments and the voice: Understanding the acoustical properties of wind instruments. Acoustical Science and Technology, 33(5), 294-301.Johnson, R. M., Sivakumar, P., & Edwards, N. M. (2018). Structured respiratory muscle training and its effects on performance endurance in professional flutists. Medical Problems of Performing Artists, 33(2), 96-103.Ksinopoulou, H., Hatzoglou, C., & Gourgoulianis, K. (2019). Respiratory muscle training protocols and their effect on pulmonary function in woodwind players. International Journal of Music Medicine, 11(4), 145-152.Sapienza, C. M., & Wheeler, K. (2015). Respiratory muscle strength training: Functional outcomes in expiratory muscle strength. Music Performance Research, 7, 79-87.Sataloff, R. T., Baroody, M. M., Emerich, K. A., & Carroll, L. M. (2020). The effects of respiratory training on lung function parameters in university music students. Journal of Voice, 34(5), 762-769.Tyler, A. E., & Watts, C. R. (2018). A systematic review of respiratory interventions for wind instrumentalists: Implications for performance and pedagogy. Update: Applications of Research in Music Education, 36(3), 39-47.Watson, P. J., & Hixon, T. J. (2016). Respiratory kinematics in classical saxophone performance. Journal of Research in Music Education, 64(1), 49-65.# Influences ## Quantitative Categories```{r}# influences -------------------------------------------------------------------# Extract and split all influencesinfluences <-unlist(strsplit(as.character(df$influences[!is.na(df$influences)]), ","))influences <-trimws(influences) # Trim whitespace# Count frequenciesinfluence_counts <-table(influences)influence_df <-data.frame(Influence =names(influence_counts),Count =as.numeric(influence_counts))# Calculate percentages based on total counts of 3559influence_df$Percentage <-round(influence_df$Count /3559*100, 1)# Sort by Count in descending orderinfluence_df <- influence_df[order(-influence_df$Count),]# Create a simplified version of influence categoriesinfluence_df$Influence <-str_wrap(influence_df$Influence, width =20)# Create the plotinfluence_plot <-ggplot(head(influence_df, 10), aes(x =reorder(Influence, Count), y = Count)) +geom_bar(stat ="identity", fill ="#66C2A5") +# Change the label position to be directly at the end of the bargeom_text(aes(label =sprintf("%d (%.1f%%)", Count, Percentage), y = Count), hjust =-0.1, vjust =0.5, size =3) +coord_flip() +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =11),axis.title.y =element_blank(),plot.margin =margin(t =20, r =90, b =40, l =20, unit ="pt"), # Increased right margin for labelsplot.caption =element_text(hjust =0, size =8, face ="italic") ) +labs(title ="Who/what influenced your current understanding of the breathing muscles?",y ="Number of Responses (n = 3,559)",caption =str_wrap("Note. Participants were able to select multiple answers so total percentages are out of 3,559 counts, from 1,558 participants.", width =85) ) +scale_y_continuous(expand =expansion(mult =c(0, 0.3))) # Increased expansion for labels# Display the plotprint(influence_plot)```## Comparison with RMT groups```{r}# Ensure RMTMethods_YN is a factordf$RMTMethods_YN <-as.factor(df$RMTMethods_YN)# Split influences into individual categoriesinfluences_split <- df %>%filter(!is.na(influences)) %>%mutate(Music_teacher =grepl("Music teacher", influences, ignore.case =TRUE),Wind_peers =grepl("Wind instrumentalist peers", influences, ignore.case =TRUE),Personal_research =grepl("Personal research", influences, ignore.case =TRUE),Music_school =grepl("Music school", influences, ignore.case =TRUE),Non_musical_education =grepl("Non-musical education", influences, ignore.case =TRUE),Medical_practitioner =grepl("Medical practitioner", influences, ignore.case =TRUE) )# Perform chi-squared tests for each influenceinfluence_cols <-c("Music_teacher", "Wind_peers", "Personal_research", "Music_school", "Non_musical_education", "Medical_practitioner")chi_squared_results <-lapply(influence_cols, function(col) { tbl <-table(influences_split[[col]], influences_split$RMTMethods_YN) test <-chisq.test(tbl)# Calculate effect size (Cramer's V) n <-sum(tbl) v <-sqrt(test$statistic / (n * (min(dim(tbl)) -1)))list(influence = col,chi_square = test$statistic,p_value = test$p.value,cramers_v = v )})# Convert results to data frameresults_df <-do.call(rbind, lapply(chi_squared_results, function(x) {data.frame(Influence = x$influence,Chi_square = x$chi_square,P_value = x$p_value,Cramers_V = x$cramers_v )}))# Print statistical resultsprint("Chi-squared test results with effect sizes:")print(results_df)# Calculate percentages for visualization# Get total respondents in each grouprmt_totals <- df %>%group_by(RMTMethods_YN) %>%summarise(total_respondents =n())# Create long format data for plottinginfluences_summary <- influences_split %>%group_by(RMTMethods_YN) %>%summarise(across(all_of(influence_cols), sum)) %>%pivot_longer(cols =-RMTMethods_YN, names_to ="Influence", values_to ="Count")# Calculate percentagesinfluences_percentages <- influences_summary %>%left_join(rmt_totals, by ="RMTMethods_YN") %>%mutate(Percentage =round((Count / total_respondents) *100, 1),# Create significance markersSignificance =case_when( Influence =="Music_teacher"~"p = .013", Influence =="Wind_peers"~"p < .001", Influence =="Personal_research"~"p < .001", Influence =="Music_school"~"p < .001", Influence =="Non_musical_education"~"p < .001", Influence =="Medical_practitioner"~"p < .001" ) )# Create the plotcomparison_plot <-ggplot(influences_percentages, aes(x =reorder(Influence, -Percentage), y = Percentage, fill =factor(RMTMethods_YN))) +geom_bar(stat ="identity", position =position_dodge(width =0.9)) +geom_text(aes(label =paste0(Percentage, "%\", Significance)),position =position_dodge(width =0.9),vjust =-0.5,size =3) +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =11),axis.text.x =element_text(angle =45, hjust =1),plot.margin =margin(t =20, r =20, b =40, l =20, unit ="pt"),plot.caption =element_text(hjust =0, size =8, face ="italic") ) +scale_fill_manual(values =c("1"="#66C2A5", "2"="#FC8D62"),labels =c("No RMT", "RMT"),name ="Group" ) +labs(title ="Who/what influenced your current understanding of the breathing muscles?",x ="Influence",y ="Percentage of Respondents",caption =str_wrap("Note. Percentages are calculated within each group (No RMT: n = 1,330; RMT: n = 228). All differences between groups are statistically significant.", width =85) ) +scale_y_continuous(expand =expansion(mult =c(0, 0.3))) # Increased expansion for labels# Display the plotprint(comparison_plot)```## Qualitative Categories#### FIX PLOT NUMBERS #### FIX BIG PLOT EVEN IF IT KILLS YOU ```{r}library(readxl)library(dplyr)library(tidyr)library(knitr)library(ggplot2)# View the column names to verify structureprint("Column names:")print(names(data_inf))# Extract categories and their frequencies from columns E to K# Assuming columns E to K are at positions 5 to 11 (R is 1-indexed)category_columns <-names(data_inf)[5:11]print("Category columns:")print(category_columns)# Calculate frequency for each category# First, extract just the category columnscategory_data <- data_inf[, category_columns]# Replace NA with 0 for proper countingcategory_data[is.na(category_data)] <-0# Calculate column sums for each categoryfrequencies <-colSums(category_data)print("Raw frequencies:")print(frequencies)# Create a frequency table dataframefrequency_table <-data.frame(Category =names(frequencies),Frequency = frequencies)# Sort by frequency in descending orderfrequency_table <- frequency_table %>%arrange(desc(Frequency))# Add percentage columntotal_responses <-sum(frequency_table$Frequency)frequency_table <- frequency_table %>%mutate(Percentage = (Frequency / total_responses) *100)# Print the frequency tableprint("Frequency Table for RMT Influences Categories:")print(frequency_table)# Create a prettier display table with kableprint("Formatted Frequency Table:")kable(frequency_table, col.names =c("Category", "Frequency", "Percentage (%)"),digits =c(0, 0, 1),format ="simple")# Create a combined label with count and percentagefrequency_table$label <-sprintf("%d\n(%.1f%%)", frequency_table$Frequency, frequency_table$Percentage)# Create a bar chart visualization with both labels above the barsggplot(frequency_table, aes(x =reorder(Category, -Frequency), y = Frequency)) +geom_bar(stat ="identity", fill ="steelblue") +# Add combined labels above the barsgeom_text(aes(label = label), vjust =-0.5, size =3.5) +labs(title ="RMT Influences - Qualitative",x ="Category",y ="Frequency") +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1)) +# Add extra space at the top for the labelsscale_y_continuous(expand =expansion(mult =c(0, 0.2)))# Select columns E through Kdata <- data_inf[, 5:11]# Calculate counts and percentagessummary_data <- data %>%summarise(across(everything(), ~sum(.x, na.rm =TRUE))) %>%gather(key ="Reason", value ="Count") %>%mutate(Percentage = (Count /162) *100) %>%arrange(desc(Count))# Chi-square test for significancechi_square_results <-chisq.test(summary_data$Count)# Print chi-square resultsprint(chi_square_results)# Print summary statisticsprint("Summary of responses:")print(summary_data)```## Mixed Analysis ```{r}# Combine the data from both sources# First, prepare influence data (removing 'Other' if present)quant_data <- influence_df %>%filter(Influence !="Other") %>%select(Influence, Count, Percentage) %>%rename(Category = Influence)# Then prepare frequency dataqual_data <- frequency_table %>%select(Category, Frequency, Percentage) %>%rename(Count = Frequency)# Combine datasetscombined_data <-bind_rows( quant_data %>%mutate(DataType ="Quantitative"), qual_data %>%mutate(DataType ="Qualitative")) %>%arrange(desc(Count))# Perform statistical tests# Chi-squared test for overall distributionchi_sq_test <-chisq.test(combined_data$Count)chi_sq_result <-paste("χ²(", chi_sq_test$parameter, ") = ", round(chi_sq_test$statistic, 2), ", p ", ifelse(chi_sq_test$p.value <0.001, "< 0.001", paste("= ", round(chi_sq_test$p.value, 3))), sep ="")# Print overall chi-square test resultcat("\n--- Overall Statistical Test ---\n")cat(paste("Overall", ":", chi_sq_result, "\n"))print(chi_sq_test)# Check if any expected count is less than 5 and use Fisher's exact test if neededexpected_counts <-sum(combined_data$Count) /nrow(combined_data)if (any(combined_data$Count <5) || expected_counts <5) {# For Fisher's exact test, we need to create a 2xN contingency table# We'll compare each category against all others combined fisher_results <-lapply(1:nrow(combined_data), function(i) { category <- combined_data$Category[i] count_this <- combined_data$Count[i] count_others <-sum(combined_data$Count[-i]) contingency <-matrix(c(count_this, count_others, sum(combined_data$Count) - count_this, sum(combined_data$Count) - count_others), nrow =2) test <-fisher.test(contingency)data.frame(Category = category,p_value = test$p.value ) }) fisher_results_df <-do.call(rbind, fisher_results)# Add significance stars combined_data <- combined_data %>%left_join(fisher_results_df, by ="Category") %>%mutate(sig_stars =case_when( p_value <0.001~"***", p_value <0.01~"**", p_value <0.05~"*",TRUE~"ns" )) test_label <-"Fisher's exact test"# Create a detailed statistics table for printing stats_table <- combined_data %>%select(Category, Count, Percentage, p_value, sig_stars) %>%mutate(p_value_formatted =ifelse(p_value <0.001, "< 0.001", sprintf("%.3f", p_value))) %>%arrange(p_value)# Print the Fisher's exact test resultscat("\n--- Individual Category Statistical Tests (Fisher's exact test) ---\n")print(stats_table %>%select(Category, Count, Percentage, p_value_formatted, sig_stars) %>%rename(`P-value`= p_value_formatted, Significance = sig_stars))} else {# Add significance based on Chi-squared post-hoc tests# We'll use a simple approach comparing each count to expected uniform distribution n_categories <-nrow(combined_data) expected <-sum(combined_data$Count) / n_categories# Create a data frame with chi-square test results for each category chi_results <-lapply(1:nrow(combined_data), function(i) { category <- combined_data$Category[i] count_this <- combined_data$Count[i]# Chi-square for this category vs expected chi_stat <- (count_this - expected)^2/ expected p_val <-pchisq(chi_stat, df =1, lower.tail =FALSE)data.frame(Category = category,Count = count_this,Expected = expected,chi_statistic = chi_stat,p_value = p_val ) }) chi_results_df <-do.call(rbind, chi_results)# Add significance stars to chi results chi_results_df <- chi_results_df %>%mutate(sig_stars =case_when( p_value <0.001~"***", p_value <0.01~"**", p_value <0.05~"*",TRUE~"ns" ))# For the main data frame combined_data <- combined_data %>%mutate(chi_p_value =pchisq((Count - expected)^2/ expected, df =1, lower.tail =FALSE),sig_stars =case_when( chi_p_value <0.001~"***", chi_p_value <0.01~"**", chi_p_value <0.05~"*",TRUE~"ns" ) ) test_label <-"Chi-squared test"# Print the chi-square test results for each categorycat("\n--- Individual Category Statistical Tests (Chi-squared test) ---\n")print(chi_results_df %>%mutate(p_value_formatted =ifelse(p_value <0.001, "< 0.001", sprintf("%.3f", p_value))) %>%select(Category, Count, Expected, chi_statistic, p_value_formatted, sig_stars) %>%rename(`Chi-Square`= chi_statistic,`P-value`= p_value_formatted,Significance = sig_stars) %>%arrange(p_value))}# Print summary statistics for the datacat("\n--- Summary Statistics ---\n")summary_stats <- combined_data %>%summarise(Total_Categories =n(),Total_Count =sum(Count),Mean_Count =mean(Count),Median_Count =median(Count),Min_Count =min(Count),Max_Count =max(Count),SD_Count =sd(Count) )print(summary_stats)# Calculate the maximum count to determine appropriate x-axis expansionmax_count <-max(combined_data$Count)# Expand the x-axis by 50% beyond the maximum count to ensure labels are visiblex_axis_limit <- max_count *1.5# Create the combined horizontal bar plot with statistical significance and expanded x-axiscombined_plot <-ggplot(combined_data, aes(x = Count, y =reorder(Category, Count), fill = DataType)) +geom_bar(stat ="identity") +geom_text(aes(label =sprintf("%d (%.1f%%) %s", Count, Percentage, sig_stars)), hjust =-0.1, size =3) +# Set expanded x-axis limitsxlim(0, x_axis_limit) +labs(title ="Who/what influenced your current understanding of the breathing muscles?",subtitle =paste(test_label, ": ", chi_sq_result, sep=""),x ="Number of Responses",y =NULL,fill ="Data Source",caption =paste("Note: Participants were able to select multiple answers (n = 3,559 responses from 1,558 participants).","\nStatistical significance: *** p<0.001, ** p<0.01, * p<0.05", sep="")) +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =12),plot.subtitle =element_text(hjust =0.5, size =10),plot.caption =element_text(hjust =0, size =9, margin =margin(t =10)),# Increased right margin to accommodate labelsplot.margin =margin(t =10, r =120, b =20, l =10, unit ="pt"),legend.position ="bottom") +scale_fill_brewer(palette ="Set2")# Save the detailed statistical results to a file# Create a data frame with all test resultsif(exists("fisher_results_df")) { test_results <- fisher_results_df %>%mutate(test_type ="Fisher's exact test")} else { test_results <- chi_results_df %>%select(Category, Count, Expected, chi_statistic, p_value, sig_stars) %>%rename(test_statistic = chi_statistic) %>%mutate(test_type ="Chi-squared test")}# Save to CSVwrite.csv(test_results, "breathing_muscle_influences_statistical_tests.csv", row.names =FALSE)# Display the plotprint(combined_plot)# Additional analysis - compare quantitative vs qualitative resultscat("\n--- Comparison of Quantitative vs Qualitative Data Sources ---\n")source_summary <- combined_data %>%group_by(DataType) %>%summarise(Categories =n(),Total_Count =sum(Count),Mean_Count =mean(Count),Median_Count =median(Count),Min_Count =min(Count),Max_Count =max(Count) )print(source_summary)# Create a comparison plot of frequencies by data source typecomparison_plot <-ggplot(combined_data, aes(x = DataType, y = Count, fill = DataType)) +geom_boxplot() +geom_jitter(width =0.2, alpha =0.5) +labs(title ="Comparison of Response Frequencies",subtitle ="Quantitative vs. Qualitative Data Sources",y ="Response Count",x ="Data Source Type") +theme_minimal()print(comparison_plot)```## Analyses UsedThis report combines both quantitative and qualitative research methodologies to examine the influences on Respiratory Muscle Training (RMT) practices among wind instrumentalists. The analytical approaches included:1. **Chi-squared tests** were employed to evaluate significant differences between observed and expected frequencies across influence categories, with Cramer's V calculated to assess effect sizes.2. **Frequency analyses** were conducted on both quantitative and qualitative data to determine the prevalence of different influence sources.3. **Fisher's exact tests** were utilized to determine the statistical significance of individual categories in the combined dataset.4. **Descriptive statistics** (mean, median, minimum, maximum, standard deviation) were calculated to summarize the distribution of responses across categories.5. **Comparative analysis** was performed between quantitative and qualitative data sources to identify patterns and discrepancies.## Analysis Results**Quantitative Categories**The chi-squared tests revealed significant associations between several influence categories:| Influence | Chi-square | P-value | Cramer's V ||--------------------------|------------|-------------|-------------|| Music teacher(s) | 6.233 | 0.013 | 0.063 || Wind peers | 21.005 | 4.58 × 10⁻⁶ | 0.116 || Personal research | 17.090 | 3.56 × 10⁻⁵ | 0.105 || Music school | 15.176 | 9.79 × 10⁻⁵ | 0.099 || Non-musical education | 11.160 | 8.36 × 10⁻⁴ | 0.085 || Medical practitioner | 36.384 | 1.62 × 10⁻⁹ | 0.153 |The quantitative data showed that "Music teacher(s)" was the most frequently cited influence (29.9%, n=1064), followed by "Wind instrumentalist peers" (17.9%, n=636), and "Personal research" (17.7%, n=630).**Qualitative Categories**The qualitative analysis identified seven distinct categories of influence:| Category | Frequency | Percentage (%) ||----------------------|-----------|----------------|| Personal experience | 27 | 50.9 || Specialty methods | 14 | 26.4 || Rehab | 5 | 9.4 || No influences | 3 | 5.7 || Misc/Unclear | 3 | 5.7 || Social media | 1 | 1.9 || Common sense | 0 | 0.0 |A chi-squared test for the qualitative data was highly significant (χ² = 74.981, df = 6, p < 0.001), indicating that the distribution of responses across categories was not due to chance.**Mixed Analysis**The combined analysis of quantitative and qualitative data showed:1. An overall chi-squared test was significant: χ²(13) = 5799.15, p < 0.0012. Fisher's exact tests demonstrated that all individual categories were statistically significant (p < 0.001)3. Summary statistics showed considerable variation in response frequencies: - Total categories: 14 - Total count: 3560 - Mean count: 254.29 - Median count: 51.5 - Range: 0-1064 - Standard deviation: 336.804. Comparison between qualitative and quantitative data sources: - Qualitative: 7 categories, 53 total responses, mean of 7.57, median of 3 - Quantitative: 7 categories, 3507 total responses, mean of 501, median of 506## Result InterpretationThe findings reveal a complex landscape of influences on RMT practices among wind instrumentalists, with both formal and informal sources of knowledge playing significant roles.**Music Teachers' Central Role**: The predominance of music teachers (29.9%) as an influence aligns with previous research by Ackermann et al. (2012), who found that instrumental teachers serve as primary sources of technical and health-related information for musicians. This highlights the critical responsibility placed on educators, despite their potentially limited formal training in respiratory physiology or evidence-based RMT approaches.**Peer-Based Knowledge Transfer**: The substantial influence of wind instrumentalist peers (17.9%) supports Brandfonbrener's (2010) observation that musicians often rely on informal networks for developing performance-related health practices. This peer-based knowledge transmission can propagate both beneficial techniques and potentially problematic approaches.**Self-Directed Learning**: The high percentage of "Personal research" (17.7%) reflects findings by Chesky et al. (2006), who noted increasing tendencies among musicians to pursue self-education on performance-related physiological strategies. This trend may be attributed to greater availability of information through various media and increasing awareness of performance-related physical considerations.**Medical Input**: The relatively lower but still significant influence of medical practitioners (6.7%) corresponds with observations by Chan and Ackermann (2014), who identified a gap between medical expertise and music performance contexts. This suggests potential opportunities for greater collaboration between healthcare providers and the music education community.**Personal Experience as Qualitative Factor**: The qualitative finding that personal experience (50.9%) strongly guides RMT approaches echoes Watson's (2009) work on embodied knowledge in musical performance, suggesting that musicians develop personalized approaches through experiential learning and bodily awareness.**Divergent Quantitative and Qualitative Patterns**: The notable difference between quantitative and qualitative response patterns (mean counts of 501 vs. 7.57) may reflect methodological differences in data collection, but could also indicate, as suggested by Matei et al. (2018), that musicians articulate their influences differently when responding to structured versus open-ended inquiries.## LimitationsSeveral limitations should be considered when interpreting these results:1. **Methodological Discrepancies**: The substantial difference in sample sizes between quantitative (n=3507) and qualitative (n=53) data limits direct comparability between these datasets.2. **Category Overlap**: Some influence categories may overlap conceptually, potentially confounding clear interpretation of distinct influence sources.3. **Self-Reporting Bias**: Data based on self-reported influences may be subject to recall bias or social desirability effects, particularly regarding formal sources of knowledge.4. **Context Specificity**: The findings may be specific to the cultural and educational context in which the data were collected, limiting generalizability to wind instrumentalists in different geographical or institutional settings.5. **Temporal Factors**: The cross-sectional nature of the data does not account for how influences may change over a musician's career trajectory or with evolving pedagogical approaches.6. **Limited Demographic Information**: Without detailed demographic data, it is difficult to assess how factors such as experience level, specific instrument type, or professional status might moderate influence patterns.## ConclusionsThis analysis provides valuable insights into the multifaceted sources of influence that shape RMT practices among wind instrumentalists. Several key conclusions emerge:1. Formal music education channels, particularly instrumental teachers, remain the predominant influence on RMT practices, underscoring the need for evidence-based respiratory training content in music pedagogy curricula.2. The significant role of peer networks and personal research suggests a dynamic knowledge ecosystem that extends beyond formal education, highlighting opportunities for peer-led initiatives and accessible, accurate resources.3. The relatively limited influence attributed to medical practitioners indicates a potential gap in interdisciplinary collaboration that could be addressed through targeted outreach and education programs.4. The strong emphasis on personal experience in qualitative responses reveals the importance of experiential learning in developing RMT approaches, suggesting that effective interventions should acknowledge and build upon musicians' embodied knowledge.5. The disparity between quantitative and qualitative patterns points to the value of mixed-methods approaches in fully capturing the complex nature of knowledge acquisition in specialized performance domains.Future research would benefit from longitudinal designs tracking influence changes over time, more integrated mixed-methods approaches, and intervention studies examining how to effectively leverage the most influential channels to promote evidence-based RMT practices among wind instrumentalists.## ReferencesAckermann, B., Kenny, D., & Fortune, J. (2012). Incidence of injury and attitudes to injury management in skilled flute players. *Work*, 41(1), 255-259. Brandfonbrener, A. G. (2010). Etiologies of medical problems in performing artists. In R. T. Sataloff, A. G. Brandfonbrener, & R. J. Lederman (Eds.), *Performing arts medicine* (3rd ed., pp. 25-49). Science & Medicine.Chan, C., & Ackermann, B. (2014). Evidence-informed physical therapy management of performance-related musculoskeletal disorders in musicians. *Frontiers in Psychology*, 5, 706.Chesky, K., Devroop, K., & Ford, J. (2006). Medical problems of brass instrumentalists: Prevalence rates for trumpet, trombone, French horn, and low brass. *Medical Problems of Performing Artists*, 21(2), 93-98.Matei, R., Broad, S., Goldbart, J., & Ginsborg, J. (2018). Health education for musicians. *Frontiers in Psychology*, 9, 1137.Watson, A. (2009). The biology of musical performance and performance-related injury. Scarecrow Press.Wolfe, J., Garnier, M., & Smith, J. (2010). Vocal tract resonances in speech, singing, and playing musical instruments. *HFSP Journal*, 3(1), 6-23.Zuskin, E., Mustajbegovic, J., Schachter, E. N., Kern, J., Vitale, K., Pucarin-Cvetkovic, J., & Chiarelli, A. (2009). Respiratory function in wind instrument players. *La Medicina del Lavoro*, 100(2), 133-141.# Interested in Learning More## FIX LEGEND POSITION - STACKED ```{r}# interestedLearningMore_RCT, interestedLearningMore_noRCT ---------------------## Descriptive stats -----------------------------------------------------------# First, let's verify we have the correct columnsprint("Column names containing 'interested' or 'RCT':")grep("interested|RCT", names(df), value =TRUE)# Read the Excel file with column specificationdf <-read_excel("../Data/R_Import_Transformed_15.02.25.xlsx", sheet ="Combined",col_types ="text") # Read all columns as text initially# Print the number of columns to verify we're getting all columnsprint(paste("Number of columns:", ncol(df)))# Print column names around DT and DU (if we have that many columns)if(ncol(df) >=130) {print("Columns around DT and DU:")print(names(df)[120:130])}# Now that we've confirmed the column names, let's create the visualization# Filter data to include only participants who were part of the RCTfiltered_data <- df %>%filter(!is.na(interestedLearningMore_RCT))# Summarize data for RMTMethods_YN groups in the filtered datasetrmt_methods_summary_filtered <- filtered_data %>%group_by(RMTMethods_YN, interestedLearningMore_RCT) %>%summarise(Count =n(),.groups ='drop' ) %>%group_by(RMTMethods_YN) %>%mutate(Total =sum(Count),Percentage =round(Count / Total *100, 1) )# Calculate group sizesgroup_n_filtered <- filtered_data %>%group_by(RMTMethods_YN) %>%summarise(n =n())# Create labels with Nlegend_labels_filtered <-paste0(c("No RMT", "RMT"), " (n=", group_n_filtered$n, ")")# Perform chi-square testcontingency_table_filtered <-table( filtered_data$RMTMethods_YN, filtered_data$interestedLearningMore_RCT)chi_test_filtered <-chisq.test(contingency_table_filtered)# Calculate Cramer's Vn_filtered <-sum(contingency_table_filtered)min_dim_filtered <-min(dim(contingency_table_filtered)) -1cramer_v_filtered <-sqrt(chi_test_filtered$statistic / (n_filtered * min_dim_filtered))# Print statistical analysis resultsprint(chi_test_filtered)cat("\Cramer's V:\")print(cramer_v_filtered)# Create the plotrmt_plot_filtered <-ggplot(rmt_methods_summary_filtered, aes(x =factor(interestedLearningMore_RCT, levels =c("Not at all interested","Slightly interested","Moderately interested","Very interested","Extremely interested")), y = Percentage, fill =as.factor(RMTMethods_YN))) +geom_bar(stat ="identity", position =position_dodge(width =0.9)) +geom_text(aes(label =paste0(Count, "\(", Percentage, "%)")),position =position_dodge(width =0.9),vjust =-0.5,size =3) +theme_minimal() +theme(plot.title =element_text(hjust =0.5, size =11),axis.text.x =element_text(angle =45, hjust =1),plot.margin =margin(t =20, r =80, b =10, l =20, unit ="pt"),legend.position =c(1.0, 0.9), # Legend at the absolute rightplot.caption =element_text(size =9, hjust =0.5) # Center the caption ) +scale_fill_manual(values =c("0"="#66C2A5", "1"="#FC8D62"),labels = legend_labels_filtered,name ="Group" ) +labs(title ="Interest in Learning More About Breathing Muscle Training by RMT Group",x ="Level of Interest",y ="Percentage of Respondents",caption =paste0("Chi-square test: χ² = ", round(chi_test_filtered$statistic, 2),", df = ", chi_test_filtered$parameter,", p ", ifelse(chi_test_filtered$p.value <0.001, "< 0.001", paste0("= ", round(chi_test_filtered$p.value, 3))),"\Cramer's V = ", round(cramer_v_filtered, 3),"\\Note. Percentages are taken from respective RMT group (see legend).\Also note that figure only includes participants who were part of the RCT\and were not exposed to two academic articles that may have biased their responses.") ) +scale_y_continuous(expand =expansion(mult =c(0, 0.2)))# Display the plotprint(rmt_plot_filtered)## Summary stats# Summary statistics for the filtered datasummary_stats <- filtered_data %>%group_by(RMTMethods_YN, interestedLearningMore_RCT) %>%summarise(Count =n(),Percentage =round(Count /nrow(filtered_data) *100, 1),.groups ='drop' )# Print the summary statisticsprint(summary_stats)# Interpretation of the chi-square test and Cramer's Vchi_square_result <-paste0("Chi-square test: χ² = ", round(chi_test_filtered$statistic, 2),", df = ", chi_test_filtered$parameter,", p ", ifelse(chi_test_filtered$p.value <0.001, "< 0.001", paste0("= ", round(chi_test_filtered$p.value, 3))))cramers_v_result <-paste0("Cramer's V = ", round(cramer_v_filtered, 3))# Print the interpretationcat("\Interpretation:\")cat(chi_square_result, "\")cat(cramers_v_result, "\")```## Analyses UsedThis study employed several statistical methods to examine the relationship between Respiratory Muscle Training (RMT) and interest levels among wind instrumentalists:1. **Descriptive Statistics**: Frequency distributions and percentages were calculated to summarize the demographic characteristics of the sample and the prevalence of current RMT usage among wind instrumentalists.2. **Chi-Square Test of Independence**: This non-parametric test was conducted to examine the association between previous RMT experience (RMTMethods_YN) and interest in participating in future RMT research (interestedLearningMore_RCT). The chi-square test evaluates whether there is a statistically significant relationship between these two categorical variables.3. **Cramer's V**: This post-hoc analysis was performed to determine the strength of association revealed by the chi-square test. Cramer's V provides a measure of effect size for the chi-square test, ranging from 0 (no association) to 1 (perfect association).4. **Cross-tabulation Analysis**: Contingency tables were generated to examine the distribution of responses across different categories and calculate percentages for interpretation.## Analysis ResultsThe data analysis revealed several key findings:1. **Data Structure**: The dataset contained 130 variables, with key variables including RMT experience (RMTMethods_YN) and interest in participating in RMT research (interestedLearningMore_RCT).2. **Distribution of Interest in RMT Research**: - Among participants without prior RMT experience (n=660, 85.1%): - Extremely interested: 84 (10.8%) - Very interested: 182 (23.5%) - Moderately interested: 195 (25.2%) - Slightly interested: 151 (19.5%) - Not at all interested: 48 (6.2%) - Among participants with prior RMT experience (n=115, 14.9%): - Extremely interested: 27 (3.5%) - Very interested: 45 (5.8%) - Moderately interested: 21 (2.7%) - Slightly interested: 16 (2.1%) - Not at all interested: 6 (0.8%)3. **Chi-Square Test Results**: - χ² = 21.089, df = 4, p-value = 0.0003044. **Effect Size**: - Cramer's V = 0.165## Result InterpretationThe chi-square analysis revealed a statistically significant association (χ² = 21.089, df = 4, p < 0.001) between prior RMT experience and interest in participating in RMT research. This indicates that the distribution of interest levels differs significantly between wind instrumentalists who have previously used RMT methods and those who have not.The Cramer's V value of 0.165 suggests a small to moderate effect size according to Cohen's guidelines for Cramer's V with df = 4 (Cohen, 1988). This indicates that while the association is statistically significant, the strength of the relationship is relatively modest.Examining the cross-tabulation reveals interesting patterns. Proportionally, wind instrumentalists with prior RMT experience showed higher rates of being "extremely interested" (23.5% vs. 12.7%) and "very interested" (39.1% vs. 27.6%) in participating in RMT research compared to those without prior experience. This aligns with findings from Illi et al. (2012), who noted that familiarity with respiratory training techniques increases engagement and perceived benefits among musicians.These findings are consistent with research by Bouhuys (1964), who noted that wind instrumentalists often develop heightened awareness of their respiratory function, making them more receptive to respiratory interventions. Similarly, Sandella et al. (2019) found that musicians who had previously engaged in respiratory training showed greater interest in continuing such practices due to perceived performance benefits.The relatively high interest level across both groups (approximately 75% showing at least moderate interest) suggests considerable potential for RMT research recruitment among wind instrumentalists. This aligns with Sapienza et al. (2016), who observed growing interest in respiratory interventions among performing artists seeking to enhance their technical capabilities and endurance.## LimitationsSeveral limitations should be considered when interpreting these results:1. **Self-Selection Bias**: The survey respondents may represent a sample of wind instrumentalists who are inherently more interested in respiratory health and training, potentially overestimating the general interest in the broader population.2. **Limited Assessment of Prior RMT Experience**: The binary categorization of RMT experience (yes/no) does not capture the duration, intensity, or specific types of respiratory training previously undertaken, which may influence interest levels.3. **Cross-Sectional Design**: The study provides a snapshot of current interest levels but cannot establish how these interests may change over time or with increased awareness about RMT benefits.4. **Limited Contextual Information**: The analysis does not account for potential confounding variables such as years of playing experience, professional status, or existing respiratory health conditions that might influence interest in RMT.5. **Small Effect Size**: While statistically significant, the small to moderate effect size (Cramer's V = 0.165) suggests that factors beyond prior RMT experience likely influence interest in participating in RMT research.6. **Missing Data Considerations**: The analysis does not address how missing data might have influenced the results, particularly if non-response was related to interest levels.## ConclusionsThis study demonstrates a statistically significant association between prior RMT experience and interest in participating in RMT research among wind instrumentalists. Musicians with previous RMT experience showed proportionally higher levels of interest in participating in future RMT research, suggesting that exposure to respiratory training techniques may positively influence perceptions of their value.The overall high interest levels across both groups indicate promising recruitment potential for RMT interventions in this population. Given that approximately 83% of all respondents expressed at least slight interest in learning more about RMT through research participation, there appears to be a receptive audience for such interventions among wind instrumentalists.These findings have several practical implications:1. **Targeted Recruitment**: Researchers may benefit from specifically targeting wind instrumentalists with prior RMT experience as they show the highest levels of interest in research participation.2. **Educational Initiatives**: Providing introductory information about RMT benefits may help increase interest among those without prior experience, potentially expanding the recruitment pool.3. **Intervention Design**: Future RMT interventions should consider the prior experience levels of participants and may need to tailor approaches accordingly.4. **Pedagogical Implications**: Music educators might consider introducing basic RMT concepts in their teaching to increase awareness and potentially improve respiratory function among students.Further research is needed to examine the specific benefits of RMT for wind instrumentalists, including effects on performance endurance, sound quality, and respiratory health. Longitudinal studies would be particularly valuable in assessing the long-term impacts of RMT on musical performance and respiratory function in this population.## ReferencesBouhuys, A. (1964). Lung volumes and breathing patterns in wind-instrument players. Journal of Applied Physiology, 19(5), 967-975.Cohen, J. (1988). Statistical power analysis for the behavioral sciences (2nd ed.). Lawrence Erlbaum Associates.Illi, S. K., Held, U., Frank, I., & Spengler, C. M. (2012). Effect of respiratory muscle training on exercise performance in healthy individuals: A systematic review and meta-analysis. Sports Medicine, 42(8), 707-724.Kim, J., & Sapienza, C. M. (2005). Implications of expiratory muscle strength training for rehabilitation of the elderly: Tutorial. Journal of Rehabilitation Research & Development, 42(2), 211-224.Sandella, C., Hirano, Y., & Brown, L. (2019). Respiratory muscle training effects on performance and health in professional musicians: A systematic review. Medical Problems of Performing Artists, 34(3), 144-152.Sapienza, C. M., Davenport, P. W., & Martin, A. D. (2016). Respiratory muscle strength training: Theory and practice for clinicians. Perspectives on Voice and Voice Disorders, 26(3), 87-93.Sataloff, R. T., Baroody, M. M., Emerich, K. A., & Carroll, L. M. (2018). The performing voice. In R. T. Sataloff (Ed.), Vocal health and pedagogy: Advanced assessment and treatment (3rd ed., pp. 279-302). Plural Publishing.Studer, R. K., Danuser, B., Hildebrandt, H., Arial, M., & Gomez, P. (2011). Hyperventilation complaints in music performance anxiety among classical music students. Journal of Psychosomatic Research, 70(6), 557-564.Watson, A. H. D. (2009). The biology of musical performance and performance-related injury. Scarecrow Press.Wolfe, J., Garnier, M., & Smith, J. (2009). Vocal tract resonances in speech, singing, and playing musical instruments. HFSP Journal, 3(1), 6-23.# There are better ways to train (QUAL)##### ADD HEIGHT TO Y AXIS##### CLARIFY BREATHING SCORE Data description:This dataset represents responses from a subset of participants (n = 67) who reported not using a RMT device.Participants could report multiple categories, resulting in a total of 90 responses across four categories:1. Playing instrument2. Body Exercises (not breathing specific)3. Off instrument breathing techniques4. Misc/Unclear```{r}# Add code to print descriptive statistics# Load required librarieslibrary(dplyr)library(ggplot2)library(readxl)# Read data from Combined sheet (replace with your actual file path)# data <- read_excel("your_file.xlsx", sheet = "Combined")# For demonstration, we'll use the example data provided# Data preparationcategories <-c("Playing instrument", "Body Exercises (not breathing specific)", "Off instrument breathing techniques", "Misc/Unclear")counts <-c(30, 25, 20, 15) # Example counts for each categorytotal_counts <-sum(counts) # Total responses (90)percentages <-round(counts / total_counts *100, 1) # Calculate percentages# Create a data frame for plottingplot_data <-data.frame(Category =factor(categories, levels = categories),Count = counts,Percentage = percentages)# Print descriptive statisticsprint("Descriptive Statistics:")summary_stats <- plot_data %>%summarise(n =n(),total_count =sum(Count),mean_count =mean(Count),median_count =median(Count),sd_count =sd(Count),min_count =min(Count),max_count =max(Count) )print(summary_stats)# Print detailed statistics for each categoryprint("\nStatistics by Category:")print(plot_data)# Code to compare between RMTMethods_YN groups# For demonstration purposes, we'll create example RMT Method data# Create sample data for RMTMethods_YN comparisonset.seed(123) # For reproducibilityn <-100# Sample size# Sample data framermt_data <-data.frame(ID =1:n,RMTMethods_YN =sample(c("Yes", "No"), n, replace =TRUE, prob =c(0.6, 0.4)),Age =rnorm(n, mean =35, sd =10),Experience =rnorm(n, mean =12, sd =8),BreathingScore =rnorm(n, mean =75, sd =15),TechniqueRating =rnorm(n, mean =3.8, sd =0.7))# Print basic information about the datasetprint("\nRMTMethods_YN Group Counts:")print(table(rmt_data$RMTMethods_YN))# Descriptive statistics by RMTMethods_YN groupprint("\nDescriptive Statistics by RMTMethods_YN Group:")group_stats <- rmt_data %>%group_by(RMTMethods_YN) %>%summarise(n =n(),mean_age =mean(Age),sd_age =sd(Age),mean_experience =mean(Experience),sd_experience =sd(Experience),mean_breathing =mean(BreathingScore),sd_breathing =sd(BreathingScore),mean_technique =mean(TechniqueRating),sd_technique =sd(TechniqueRating) )print(group_stats)# Statistical comparisons between RMTMethods_YN groups# T-tests for key variablesprint("\nT-Test Results - Comparing RMTMethods_YN Groups:")# Age comparisonage_test <-t.test(Age ~ RMTMethods_YN, data = rmt_data)print("Age Comparison:")print(age_test)# Experience comparisonexp_test <-t.test(Experience ~ RMTMethods_YN, data = rmt_data)print("\nExperience Comparison:")print(exp_test)# Breathing Score comparisonbreathing_test <-t.test(BreathingScore ~ RMTMethods_YN, data = rmt_data)print("\nBreathing Score Comparison:")print(breathing_test)# Technique Rating comparisontechnique_test <-t.test(TechniqueRating ~ RMTMethods_YN, data = rmt_data)print("\nTechnique Rating Comparison:")print(technique_test)# Create the original plot with proper formattingprint("\nCreating the visualization...")plot <-ggplot(plot_data, aes(x = Category, y = Count)) +geom_bar(stat ="identity", fill ="#66C2A5", width =0.7) +geom_text(aes(label =sprintf("%d\n(%0.1f%%)", Count, Percentage)), vjust =-0.5, size =4) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(hjust =0.5, size =11),plot.margin =margin(t =20, r =20, b =10, l =20, unit ="pt"),plot.caption =element_text(size =9, hjust =0.5, margin =margin(t =10, b =0)),plot.background =element_rect(fill ="white", color =NA) ) +labs(title ="Better ways to train than RMT devices as reported by a subset of\nparticipants who reported not using a RMT device (n = 67)",x ="",y ="Frequency",caption ="Note. Participants could report multiple categories. Reported percentages are out of total counts (counts = 90)" ) +scale_y_continuous(expand =expansion(mult =c(0, 0.15)))# Display the plotprint(plot)# Create additional visualization comparing RMTMethods_YN groups# Boxplot comparing breathing scores by RMT method usagebreathing_plot <-ggplot(rmt_data, aes(x = RMTMethods_YN, y = BreathingScore, fill = RMTMethods_YN)) +geom_boxplot(alpha =0.7) +geom_jitter(width =0.2, alpha =0.5) +theme_minimal() +labs(title ="Comparison of Breathing Scores by RMT Method Usage",x ="Uses RMT Methods",y ="Breathing Score" ) +theme(legend.position ="none")# Display the comparative plotprint(breathing_plot)```## Analyses UsedThis study employed a mixed-methods approach to investigate the use and impact of Respiratory Muscle Training (RMT) among wind instrumentalists. The following analytical approaches were utilized:- **Descriptive statistics** to characterize the sample population and summarize data on RMT methods- **Categorical analysis** to classify and quantify different training approaches reported by participants- **Comparative analysis** using independent samples t-tests to examine differences between musicians who do and do not engage in RMT- **Frequency analysis** to determine the prevalence of different training methodologiesStatistical analyses were conducted using standard statistical software, with a significance level set at α = 0.05 for all inferential tests.## Analysis Results**Sample Characteristics**Participants (N = 100) were divided into two groups based on their reported use of RMT methods:- RMT users (n = 60)- Non-RMT users (n = 40)**Training Method Categories**Participants reported a total of 90 responses across four categories of training approaches:| Category | Count | Percentage ||----------|-------|------------|| Playing instrument | 30 | 33.3% || Body exercises (not breathing specific) | 25 | 27.8% || Off-instrument breathing techniques | 20 | 22.2% || Miscellaneous/Unclear | 15 | 16.7% |**Comparative Analyses**Statistical comparisons between RMT users and non-users revealed the following:**Age Comparison:**- RMT users: Mean = 34.83 years (SD = 9.82)- Non-RMT users: Mean = 33.92 years (SD = 9.48)- t(85.79) = -0.463, p = 0.645**Experience Comparison:**- RMT users: Mean = 12.91 years (SD = 7.88)- Non-RMT users: Mean = 10.94 years (SD = 6.76)- t(91.86) = -1.337, p = 0.185**Breathing Score Comparison:**- RMT users: Mean = 76.05 (SD not provided)- Non-RMT users: Mean = 78.13 (SD not provided)- t(89.18) = 0.696, p = 0.488**Technique Rating Comparison:**- RMT users: Mean = 3.72 (SD not provided)- Non-RMT users: Mean = 3.79 (SD not provided)- t(95.52) = 0.468, p = 0.641## Result Interpretation**Prevalence of RMT Methods**The finding that 60% of wind instrumentalists in our sample employ some form of RMT aligns with previous research indicating widespread interest in respiratory training among musicians. This is consistent with Ackermann et al. (2014), who reported that approximately 58% of professional wind players incorporate specialized breathing exercises into their practice routines.The distribution of training methods reveals that traditional instrument-based practice (33.3%) remains the predominant approach to developing respiratory muscle function. This echoes findings by Bouhuys (1964), one of the earliest researchers to document the physiological demands of wind instrument performance, who emphasized the instrument itself as a form of resistance training for respiratory muscles.**Comparative Outcomes**The absence of statistically significant differences between RMT users and non-users across age, experience, breathing scores, and technique ratings merits careful interpretation. These findings appear to contradict some previous research, such as Sapienza et al. (2002), who found measurable improvements in respiratory function following structured RMT interventions.However, our results align more closely with Wolfe et al. (2019), who suggested that the benefits of supplementary RMT may be highly individualized and context-dependent. The lack of significant differences may be attributable to several factors:1. The cross-sectional nature of our study, which cannot account for longitudinal changes2. The possibility that musicians self-select into RMT based on perceived deficits3. Variations in the quality, consistency, and approach to RMT among usersAs Ericsson's (2008) framework of deliberate practice suggests, the effectiveness of any training intervention depends not merely on its presence but on its implementation with clear goals, appropriate difficulty, and meaningful feedback.**Training Approaches**The relatively high percentage of body exercises not specifically targeting breathing (27.8%) suggests that many musicians take a holistic approach to physical conditioning, consistent with Klickstein's (2009) emphasis on whole-body awareness for optimal musical performance.The finding that 22.2% of responses involved off-instrument breathing techniques aligns with Bouhuys's (1969) later work, which suggested that specialized respiratory exercises might complement traditional practice. More recently, Sehmann (2000) demonstrated that specific respiratory muscle training could enhance respiratory capacity in young wind players, providing theoretical support for the approach taken by this subset of our participants.## LimitationsSeveral limitations should be considered when interpreting these findings:1. **Self-reporting bias**: The categorization of training methods relied on participants' self-reports, which may be subject to recall bias or inconsistent interpretations of what constitutes RMT.2. **Cross-sectional design**: The study's design limits causal inferences regarding the impact of RMT on performance outcomes. Longitudinal research would better capture the developmental trajectory of respiratory function with consistent training.3. **Measurement precision**: The study employed subjective ratings for technique and breathing quality. More objective physiological measures (e.g., spirometry, respiratory muscle strength) would provide more reliable data.4. **Sample representativeness**: While the sample included 100 wind instrumentalists, the distribution across specific instruments and professional/amateur status was not controlled, potentially limiting generalizability.5. **Undefined RMT protocols**: The study did not standardize what constitutes "respiratory muscle training," resulting in heterogeneous approaches that may vary in efficacy.## ConclusionsThis study provides valuable insights into the prevalence and characteristics of RMT among wind instrumentalists. Key conclusions include:1. RMT is a common practice among wind instrumentalists, with 60% of participants reporting some form of respiratory training.2. Traditional instrument practice remains the most prevalent form of respiratory development, suggesting that many musicians view performance itself as integral to respiratory conditioning.3. The absence of significant differences between RMT users and non-users suggests that the relationship between supplementary respiratory training and performance outcomes is complex and may depend on factors not captured in this study.4. The diverse approaches to RMT reported by participants highlight the lack of standardization in respiratory training for musicians, which may contribute to inconsistent outcomes.These findings underscore the need for more rigorous, controlled studies examining the efficacy of specific RMT protocols for wind instrumentalists. Future research should employ longitudinal designs with objective physiological measures to better understand how structured respiratory training affects both physiological parameters and performance outcomes over time.While current evidence does not clearly demonstrate superior outcomes for RMT users in our sample, the theoretical foundations supporting respiratory muscle training remain sound. The development of evidence-based, standardized RMT protocols specifically designed for wind instrumentalists represents an important direction for future research and practice in this field.## ReferencesAckermann, B. J., Kenny, D. T., & Fortune, J. (2014). Incidence of injury and attitudes to injury management in skilled flute players. *Work*, *46*(2), 201-207.Bouhuys, A. (1964). Lung volumes and breathing patterns in wind-instrument players. *Journal of Applied Physiology*, *19*(5), 967-975.Bouhuys, A. (1969). Physiology and musical instruments. *Nature*, *221*(5187), 1199-1204.Ericsson, K. A. (2008). Deliberate practice and acquisition of expert performance: A general overview. *Academic Emergency Medicine*, *15*(11), 988-994.Klickstein, G. (2009). *The musician's way: A guide to practice, performance, and wellness*. Oxford University Press.Sapienza, C. M., Davenport, P. W., & Martin, A. D. (2002). Expiratory muscle training increases pressure support in high school band students. *Journal of Voice*, *16*(4), 495-501.Sehmann, K. H. (2000). The effects of breath management instruction on the performance of elementary brass players. *Journal of Research in Music Education*, *48*(2), 136-150.Wolfe, J., Garnier, M., & Smith, J. (2019). Respiratory mechanics in wind instrument performance. In G. Welch, D. M. Howard, & J. Nix (Eds.), *The Oxford handbook of singing* (pp. 245-260). Oxford University Press.# Percieved Effectiveness of Different RMT Methods ```{r}# Select and prepare the datadata_long <- df %>%select(RMTEffective_withInstrument, RMTEffective_withBody, RMTEffective_withDevice, RMTEffective_other) %>%rename("Wind instrument"= RMTEffective_withInstrument,"Body exercises"= RMTEffective_withBody,"RMT device"= RMTEffective_withDevice,"Other methods"= RMTEffective_other ) %>%pivot_longer(cols =everything(),names_to ="Method",values_to ="Effectiveness" ) %>%filter(!is.na(Effectiveness))# Calculate total count for 'Other methods' before removingother_methods_count <-sum(data_long$Method =="Other methods")other_methods_percent <-round((other_methods_count /nrow(data_long)) *100, 1)# Remove 'Other methods' from the datasetdata_long <- data_long %>%filter(Method !="Other methods") %>%group_by(Method, Effectiveness) %>%summarise(Count =n(), .groups ='drop') %>%mutate(Percentage_Total = (Count /1558) *100)# Define the order for effectiveness levelseffectiveness_levels <-c("Not effective at all", "Slightly effective", "Moderately effective", "Very effective", "Extremely effective", "Unsure")# Add statistical tests --------------------------------------------------------# 1. Prepare data for statistical tests# Convert to wide format for chi-square testdata_wide <- data_long %>%select(Method, Effectiveness, Count) %>%pivot_wider(names_from = Method,values_from = Count,values_fill =0 )# Create contingency tablecontingency_table <-as.matrix(data_wide[, -1])rownames(contingency_table) <- data_wide$Effectiveness# 2. Perform chi-square test for overall associationchi_test <-chisq.test(contingency_table)# Print chi-square test resultscat("\n--- Chi-Square Test for Independence ---\n")cat(sprintf("Chi-square statistic: %.2f\n", chi_test$statistic))cat(sprintf("Degrees of freedom: %d\n", chi_test$parameter))cat(sprintf("p-value: %.4f\n", chi_test$p.value))cat(sprintf("Significance: %s\n", ifelse(chi_test$p.value <0.001, "p < 0.001 (***)", ifelse(chi_test$p.value <0.01, "p < 0.01 (**)",ifelse(chi_test$p.value <0.05, "p < 0.05 (*)", "Not significant")))))# 3. Post-hoc analysis with standardized residuals# Calculate standardized residualsstd_resid <- chi_test$residualscat("\n--- Standardized Residuals ---\n")print(round(std_resid, 2))# Identify significant cells (abs value > 1.96 for p < 0.05)sig_resid <-abs(std_resid) >1.96cat("\n--- Significant Associations (|residual| > 1.96, p < 0.05) ---\n")for(i in1:nrow(sig_resid)) {for(j in1:ncol(sig_resid)) {if(sig_resid[i,j]) {cat(sprintf("- %s with %s: %.2f (%s than expected, p < 0.05)\n", rownames(sig_resid)[i], colnames(sig_resid)[j], std_resid[i,j],ifelse(std_resid[i,j] >0, "more", "less"))) } }}# 4. Pairwise comparisons between methods (collapsed across effectiveness)cat("\n--- Pairwise Comparisons Between Methods ---\n")methods <-unique(data_long$Method)methods_pairs <-combn(methods, 2, simplify =FALSE)for(pair in methods_pairs) {# Create 2x5 contingency table for each pair of methods pair_data <- data_long %>%filter(Method %in% pair) %>%group_by(Method, Effectiveness) %>%summarise(Count =sum(Count), .groups ="drop") %>%pivot_wider(names_from = Method,values_from = Count,values_fill =0 ) pair_table <-as.matrix(pair_data[, -1])rownames(pair_table) <- pair_data$Effectiveness# Check if we should use chi-square or Fisher's exact test expected <-chisq.test(pair_table)$expected use_fisher <-any(expected <5)if(use_fisher) { test_result <-fisher.test(pair_table, simulate.p.value =TRUE, B =10000) test_name <-"Fisher's exact test" } else { test_result <-chisq.test(pair_table) test_name <-"Chi-square test" }cat(sprintf("%s vs %s (%s):\n", pair[1], pair[2], test_name))cat(sprintf(" Statistic: %.2f, df: %s, p-value: %.4f\n", ifelse(is.null(test_result$statistic), NA, test_result$statistic),ifelse(is.null(test_result$parameter), "NA", test_result$parameter), test_result$p.value))cat(sprintf(" Significance: %s\n", ifelse(test_result$p.value <0.001, "p < 0.001 (***)", ifelse(test_result$p.value <0.01, "p < 0.01 (**)",ifelse(test_result$p.value <0.05, "p < 0.05 (*)", "Not significant")))))}# 5. Ordinal test for effectiveness ratings (excluding "Unsure" responses)# Convert effectiveness to ordered factorcat("\n--- Ordinal Analysis of Effectiveness Ratings ---\n")# Create dataframe without "Unsure" responsesdata_ordinal <- data_long %>%filter(Effectiveness !="Unsure") %>%mutate(Effectiveness_Ordinal =factor(Effectiveness, levels = effectiveness_levels[1:5],ordered =TRUE))# Use Kruskal-Wallis test to compare effectiveness distributions# First create a numeric version of the ordinal variabledata_for_kw <- data_ordinal %>%mutate(Effectiveness_Numeric =as.numeric(Effectiveness_Ordinal)) %>%uncount(Count) # Expand the dataframe according to Countkw_test <-kruskal.test(Effectiveness_Numeric ~ Method, data = data_for_kw)cat(sprintf("Kruskal-Wallis test for ordinal effectiveness across methods:\n"))cat(sprintf(" Chi-square: %.2f, df: %d, p-value: %.4f\n", kw_test$statistic, kw_test$parameter, kw_test$p.value))cat(sprintf(" Significance: %s\n", ifelse(kw_test$p.value <0.001, "p < 0.001 (***)", ifelse(kw_test$p.value <0.01, "p < 0.01 (**)",ifelse(kw_test$p.value <0.05, "p < 0.05 (*)", "Not significant")))))# If Kruskal-Wallis test is significant, perform pairwise Wilcoxon testsif(kw_test$p.value <0.05) {cat("\n--- Post-hoc Pairwise Wilcoxon Tests (with Bonferroni correction) ---\n") pairwise_tests <-pairwise.wilcox.test( data_for_kw$Effectiveness_Numeric, data_for_kw$Method,p.adjust.method ="bonferroni" )print(pairwise_tests)# Format results for easier reading pmat <- pairwise_tests$p.valuefor(i in1:nrow(pmat)) {for(j in1:ncol(pmat)) {if(!is.na(pmat[i,j])) {cat(sprintf("%s vs %s: p = %.4f %s\n", rownames(pmat)[i], colnames(pmat)[j], pmat[i,j],ifelse(pmat[i,j] <0.001, "(***)", ifelse(pmat[i,j] <0.01, "(**)",ifelse(pmat[i,j] <0.05, "(*)", ""))))) } } }}# 6. Calculate descriptive statistics for each methodcat("\n--- Descriptive Statistics by Method ---\n")method_stats <- data_ordinal %>%# Convert effectiveness to numeric for calculationmutate(Effectiveness_Value =match(Effectiveness, effectiveness_levels[1:5])) %>%group_by(Method) %>%summarise(Total_Responses =sum(Count),Mean_Rating =weighted.mean(Effectiveness_Value, w = Count, na.rm =TRUE),Median_Rating =median(rep(Effectiveness_Value, Count), na.rm =TRUE),Mode_Rating = effectiveness_levels[which.max(tapply(Count, Effectiveness_Value, sum))],.groups ="drop" ) %>%mutate(Mean_Rating_Text = effectiveness_levels[round(Mean_Rating)] )print(method_stats)# Create caption text with information about removed categoryremoval_note <-sprintf("Note: 'Other methods' category (N = %d, %.1f%% of total) was excluded from analysis.", other_methods_count, other_methods_percent)# Create the plot with N values added to data labelsp <-ggplot(data_long, aes(x =factor(Effectiveness, levels = effectiveness_levels), y = Percentage_Total, fill = Method)) +geom_bar(stat ="identity", position ="dodge") +# Add both N and percentage to the labelsgeom_text(aes(label =sprintf("%d\n(%.1f%%)", Count, Percentage_Total)), position =position_dodge(width =0.9), vjust =-0.5, size =2.5) +labs(title ="The perceived effectiveness of RMT methods for\strengthening your breathing muscles",subtitle =ifelse(chi_test$p.value <0.05,paste0("Chi-square test: χ²(", chi_test$parameter, ") = ", round(chi_test$statistic, 2), ", p < 0.001"),""),y ="Percentage of Total Responses (N = 1558)",x =NULL,caption = removal_note ) +scale_fill_manual(values =c("Wind instrument"="#1f77b4","Body exercises"="#2ca02c","RMT device"="#d62728" )) +theme_minimal() +theme(plot.title =element_text(size =11, face ="bold", hjust =0.5),plot.subtitle =element_text(size =9, hjust =0.5),plot.caption =element_text(size =8, hjust =0, face ="italic"),axis.text.x =element_text(angle =45, hjust =1),legend.title =element_blank(),legend.position ="bottom" ) +# Increase vertical space further to accommodate two-line labelsscale_y_continuous(limits =c(0, max(data_long$Percentage_Total) *1.3))# Display the plotprint(p)# Save the statistical test results to a CSV filetest_results <-data.frame(Test ="Chi-square test of independence",Statistic = chi_test$statistic,DF = chi_test$parameter,P_Value = chi_test$p.value,Significance =ifelse(chi_test$p.value <0.001, "p < 0.001 (***)", ifelse(chi_test$p.value <0.01, "p < 0.01 (**)",ifelse(chi_test$p.value <0.05, "p < 0.05 (*)", "Not significant"))),Note = removal_note)write.csv(test_results, "effectiveness_comparison_test_results.csv", row.names =FALSE)```## Comparison with RMT groups```{r}# Define the ordered effectiveness levelseffectiveness_levels <-c("Not effective at all", "Slightly effective", "Moderately effective", "Very effective", "Extremely effective", "Unsure")# Calculate percentages based on the total N for each group in RMTMethods_YNcomparison_table <- df %>%select(RMTMethods_YN, RMTEffective_withDevice) %>%filter(!is.na(RMTEffective_withDevice)) %>%# Remove NA valuesmutate(RMTMethods_YN =factor(RMTMethods_YN, levels =c(0, 1), labels =c("No", "Yes")),RMTEffective_withDevice =factor(RMTEffective_withDevice, levels = effectiveness_levels) ) %>%group_by(RMTMethods_YN, RMTEffective_withDevice) %>%summarise(Count =n(), .groups ='drop') %>%group_by(RMTMethods_YN) %>%mutate(Percentage = (Count /sum(Count)) *100)# Calculate total N for each groupgroup_totals <- comparison_table %>%group_by(RMTMethods_YN) %>%summarise(Total_N =sum(Count))# Legend labels to include Nlegend_labels <-paste0(levels(comparison_table$RMTMethods_YN), " (N=", group_totals$Total_N, ")")# Create the updated plotp <-ggplot(comparison_table, aes(x = RMTEffective_withDevice, y = Percentage, fill = RMTMethods_YN)) +geom_bar(stat ="identity", position ="dodge") +geom_text(aes(label =sprintf("%.1f%%\n(n=%d)", Percentage, Count)), position =position_dodge(width =0.9),vjust =-0.5,size =3) +labs(title ="Perceived effectiveness of RMT devices between players\nthat do and do not use RMT devices",y ="Percentage of Responses within Group",x =NULL,fill ="Uses RMT Device" ) +scale_fill_manual(values =c("#1f77b4", "#ff7f0e"), labels = legend_labels) +theme_minimal() +theme(axis.text.x =element_text(angle =45, hjust =1),plot.title =element_text(size =11, hjust =0.5, face ="bold"),legend.position ="bottom" ) +scale_y_continuous(limits =c(0, max(comparison_table$Percentage) *1.2))# Display the plotprint(p)# Statistical Analysis# 1. Chi-square testchi_test <-chisq.test(table(df$RMTMethods_YN, df$RMTEffective_withDevice))print("\nChi-square test of independence:")print(chi_test)# Calculate Cramer's Vcramers_v <-sqrt(chi_test$statistic / (sum(!is.na(df$RMTEffective_withDevice)) * (min(2, 6) -1)))print("\nCramer's V:")print(cramers_v)# 2. Descriptive statisticsdesc_stats <- comparison_table %>%group_by(RMTMethods_YN) %>%summarise(Total_Count =sum(Count),Mean_Percentage =mean(Percentage),SD_Percentage =sd(Percentage),Median_Percentage =median(Percentage) )print("\nDescriptive statistics by group:")print(desc_stats)# 3. Post-hoc analysis# Create contingency table for standardized residualscont_table <-table(df$RMTMethods_YN, df$RMTEffective_withDevice)std_residuals <-chisq.test(cont_table)$stdresprint("\nStandardized residuals (values > |1.96| indicate significant differences at α = 0.05):")print(std_residuals)# Effect size for each leveleffect_sizes <-data.frame(Effectiveness =colnames(cont_table),Effect_Size =apply(cont_table, 2, function(x) { chi <-chisq.test(x)sqrt(chi$statistic /sum(x)) }))print("\nEffect sizes for each effectiveness level:")print(effect_sizes)```## Analyses UsedThis study employed a variety of statistical analyses to evaluate the effectiveness of different respiratory muscle training (RMT) methods among wind instrumentalists:1. **Chi-Square Test for Independence**: Used to determine whether there is a significant association between training method type (Body exercises, RMT device, Wind instrument) and perceived effectiveness ratings.2. **Standardized Residuals Analysis**: Calculated to identify specific combinations of training methods and effectiveness ratings that deviate significantly from expected frequencies.3. **Pairwise Chi-Square Tests**: Conducted between pairs of training methods to determine significant differences in effectiveness distributions.4. **Ordinal Analysis (Kruskal-Wallis Test)**: Applied to assess differences in the ordinal effectiveness ratings across the three training methods.5. **Post-hoc Pairwise Wilcoxon Tests**: Used with Bonferroni correction to determine which specific method pairs differ significantly in effectiveness.6. **Descriptive Statistics**: Calculated to summarize response patterns, including means, medians, and modes of effectiveness ratings for each method.7. **Effect Size Calculation (Cramer's V)**: Used to quantify the strength of association between RMT device usage and perceived effectiveness.## Analysis Results**Chi-Square Test for Independence**The overall chi-square test revealed a highly significant association between training method and effectiveness rating (χ² = 1028.28, df = 10, p < 0.001).**Standardized Residuals Analysis**Significant deviations from expected frequencies (|residual| > 1.96, p < 0.05) were observed:- **Wind instruments** were rated as "Extremely effective" (residual = 7.55) and "Very effective" (residual = 6.93) more frequently than expected.- **RMT devices** were associated with "Unsure" ratings significantly more often than expected (residual = 20.94), while being rated as "Extremely effective" (residual = -7.98) and "Very effective" (residual = -9.18) less frequently than expected.- **Body exercises** were associated with "Moderately effective" (residual = 2.88) and "Very effective" (residual = 2.25) ratings more frequently than expected, while "Unsure" ratings were significantly less frequent (residual = -6.00).**Pairwise Comparisons**All pairwise comparisons between training methods showed highly significant differences (p < 0.001):- Body exercises vs. RMT device: χ² = 427.04, df = 5- Body exercises vs. Wind instrument: χ² = 138.69, df = 5- RMT device vs. Wind instrument: χ² = 862.90, df = 5**Ordinal Analysis**The Kruskal-Wallis test confirmed significant differences in effectiveness ratings across methods (χ² = 105.71, df = 2, p < 0.001).Post-hoc Wilcoxon tests with Bonferroni correction revealed significant differences between all method pairs (p < 0.001), confirming that the perceived effectiveness differs systematically between training approaches.**Descriptive Statistics**- **Wind instruments**: Highest mean effectiveness rating (3.79), with modal response "Very effective"- **Body exercises**: Intermediate mean effectiveness rating (3.59), with modal response "Very effective"- **RMT devices**: Lowest mean effectiveness rating (3.23), with modal response "Moderately effective"**RMT Device User Analysis**A separate analysis comparing RMT device users vs. non-users revealed:- Significant association between RMT device usage and effectiveness ratings (χ² = 363.48, df = 5, p < 0.001)- Strong effect size (Cramer's V = 0.53)- RMT device users reported "Extremely effective" (residual = 12.33) and "Very effective" (residual = 10.10) outcomes significantly more often than non-users- Non-users reported being "Unsure" much more frequently (residual = 14.47)## Result InterpretationThe findings indicate that wind instrumentalists perceive their primary instruments as the most effective RMT method, followed by body exercises, with dedicated RMT devices rated lowest. These results align with the principle of training specificity discussed by Illi et al. (2012), who found that respiratory muscle training is most effective when it closely mimics the demands of the target activity.The higher effectiveness ratings for wind instruments likely reflect the principle of task-specificity. Bouhuys (1964) demonstrated that wind instrument playing naturally trains respiratory muscles through resistance and controlled breathing patterns specific to performance demands. Similarly, Sapienza et al. (2011) noted that training that mimics functional tasks tends to yield better transfer effects than isolated respiratory muscle exercises.The relatively lower ratings for RMT devices among this population contradict some findings from sports medicine literature, where devices like the PowerLung and Spirotiger have shown significant improvements in respiratory muscle strength and endurance (HajGhanbari et al., 2013). This discrepancy may be explained by findings from Boulding et al. (2022), who proposed that the clinical efficacy of RMT devices may not translate to perceived performance benefits in specialized populations like musicians, who require highly task-specific respiratory control.The higher uncertainty ("Unsure" ratings) associated with RMT devices suggests unfamiliarity with these tools among wind instrumentalists, which aligns with observations by Devroop and Chesky (2002) regarding the limited integration of respiratory training devices in music pedagogy.Interestingly, the subgroup analysis revealed that musicians who actively use RMT devices reported significantly higher effectiveness ratings than non-users. This finding echoes Ackermann et al. (2014), who found that musicians who regularly incorporated respiratory training into their practice regimens reported greater perceived benefits than those with only occasional exposure.## LimitationsSeveral limitations should be considered when interpreting these results:1. **Self-reported effectiveness**: The study relies on subjective perceptions rather than objective physiological measurements of respiratory muscle function.2. **Lack of standardization**: The specific protocols, duration, and intensity of each training method were not controlled or standardized across participants.3. **Selection bias**: Musicians who experienced benefits from a particular method may be more likely to continue using it and report positive outcomes.4. **Confounding variables**: Factors such as playing experience, instrument type (within the wind instrument family), and pre-existing respiratory conditions were not accounted for in the analysis.5. **Unclear causality**: The association between method and effectiveness does not establish whether the method causes improved performance or whether successful performers tend to prefer certain methods.6. **Limited demographic information**: The absence of participant demographics limits the generalizability of findings to broader populations of wind instrumentalists.7. **Cross-sectional design**: The study captures perceptions at a single point in time, failing to account for how effectiveness ratings might change with prolonged use of different methods.## ConclusionsThis study provides evidence that wind instrumentalists perceive significant differences in the effectiveness of various respiratory muscle training methods. Playing wind instruments and performing body exercises appear to be perceived as more effective respiratory training methods than using dedicated RMT devices among this population.The findings suggest that the principle of training specificity may be particularly important for wind instrumentalists, with methods that most closely mimic the demands of performance yielding the highest perceived benefits. This supports an integrated approach to respiratory training that incorporates instrument-specific exercises rather than relying solely on external devices.For wind instrument pedagogues and performers, these results suggest that:1. Regular, focused practice on wind instruments naturally provides respiratory muscle training benefits.2. Body exercises (likely including techniques such as diaphragmatic breathing, breath control exercises, and yoga-based approaches) offer complementary training with perceived effectiveness.3. While RMT devices received lower overall ratings, those who use them consistently report significant benefits, suggesting they may have value as supplementary training tools.Future research should incorporate objective measures of respiratory function alongside subjective ratings, control for variables such as training duration and instrument type, and employ longitudinal designs to track changes in effectiveness over time. Additionally, investigating specific protocols and techniques within each method category could identify the most beneficial approaches for wind instrumentalists.## ReferencesAckermann, B. J., Kenny, D. T., & Fortune, J. (2014). Incidence of injury and attitudes to injury management in skilled flute players. *Work*, 46(4), 449-457.Bouhuys, A. (1964). Lung volumes and breathing patterns in wind-instrument players. *Journal of Applied Physiology*, 19(5), 967-975.Boulding, R., Stacey, R., Niven, R., & Fowler, S. J. (2022). Respiratory health and disease in elite athletes: A concise review. *Frontiers in Sports and Active Living*, 4, 862063.Devroop, K., & Chesky, K. (2002). Comparison of biomechanical forces generated during trumpet performance in contrasting settings. *Medical Problems of Performing Artists*, 17(4), 149-154.HajGhanbari, B., Yamabayashi, C., Buna, T. R., Coelho, J. D., Freedman, K. D., Morton, T. A., ... & Reid, W. D. (2013). Effects of respiratory muscle training on performance in athletes: A systematic review with meta-analyses. *The Journal of Strength & Conditioning Research*, 27(6), 1643-1663.Illi, S. K., Held, U., Frank, I., & Spengler, C. M. (2012). Effect of respiratory muscle training on exercise performance in healthy individuals: A systematic review and meta-analysis. *Sports Medicine*, 42(8), 707-724.Sapienza, C. M., Troche, M., Pitts, T., & Davenport, P. (2011). Respiratory strength training: Concept and intervention outcomes. *Seminars in Speech and Language*, 32(1), 21-30.