I have no experience with loops, but it looks like I will need to create some of them to properly analyze my data. Could you show how to create a simple code loop that I already created? Let me use a loop to get some graphs:
pdf(file = sprintf("complex I analysis", tbl_comp_abu1), paper='A4r') ggplot(df_tbl_data1_comp1, aes(Size_Range, Abundance, group=factor(Gene_Name))) + theme(legend.title=element_blank()) + geom_line(aes(color=factor(Gene_Name))) + ggtitle("Data1 - complex I")+ theme(axis.text.x = element_text(angle = 90, hjust = 1)) ggplot(df_tbl_data2_comp1, aes(Size_Range, Abundance, group=factor(Gene_Name))) + theme(legend.title=element_blank()) + geom_line(aes(color=factor(Gene_Name))) + ggtitle("Data2 - complex I")+ theme(axis.text.x = element_text(angle = 90, hjust = 1)) ggplot(df_tbl_data3_comp1, aes(Size_Range, Abundance, group=factor(Gene_Name))) + theme(legend.title=element_blank()) + geom_line(aes(color=factor(Gene_Name))) + ggtitle("Datas3 - complex I")+ theme(axis.text.x = element_text(angle = 90, hjust = 1)) dev.off()
Now the question is what I would like to achieve. Therefore, first of all, I have 10 complexes for analysis, so I need to create 10 PDF files, and the example shows graphs from three different data sets for complex. For proper operation, the number in the variable comp1 (from df_tbl_dataX_comp1 ) must vary from 1 to 10 - it depends on which complex we want to build. The next thing that needs to be changed through the loop is the name of the pdf file and each of the graphs ... Can such a loop be written?
Data:
structure(list(Size_Range = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 7L, 7L, 8L, 8L, 8L, 9L, 9L, 9L, 10L, 10L, 10L, 11L, 11L, 11L, 12L, 12L, 12L, 13L, 13L, 13L, 14L, 14L, 14L, 15L, 15L, 15L, 16L, 16L, 16L, 17L, 17L, 17L, 18L, 18L, 18L, 19L, 19L, 19L, 20L, 20L, 20L), .Label = c("10", "34", "59", "84", "110", "134", "165", "199", "234", "257", "362", "433", "506", "581", "652", "733", "818", "896", "972", "1039" ), class = "factor"), Abundance = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142733.475, 108263.525, 98261.11, 649286.165, 3320759.803, 3708515.148, 6691260.945, 30946562.92, 180974.3725, 4530005.805, 21499827.89, 0, 15032198.54, 4058060.583, 0, 3842964.97, 2544030.857, 0, 1640476.977, 286249.1775, 0, 217388.5675, 1252965.433, 0, 1314666.05, 167467.8825, 0, 253798.15, 107244.9925, 0, 207341.1925, 15755.485, 0, 71015.85, 14828.5075, 0, 25966.2325, 0, 0, 0, 0, 0, 0), Gene_Name = c("AT1G01080", "AT1G01090", "AT1G01320", "AT1G01420", "AT1G01470", "AT1G01560", "AT1G01800", "AT1G02150", "AT1G02500", "AT1G02560", "AT1G02780", "AT1G02880", "AT1G02920", "AT1G02930", "AT1G03030", "AT1G03090", "AT1G03110", "AT1G03130", "AT1G03220", "AT1G03230", "AT1G03330", "AT1G03475", "AT1G03630", "AT1G03680", "AT1G03870", "ATCG00420", "ATCG00470", "ATCG00480", "ATCG00490", "ATCG00500", "ATCG00650", "ATCG00660", "ATCG00670", "ATCG00740", "ATCG00750", "ATCG00842", "ATCG01100", "ATCG01030", "ATCG01114", "ATCG01665", "ATCG00770", "ATCG00780", "ATCG00800", "ATCG00810", "ATCG00820", "ATCG00722", "ATCG00744", "ATCG00855", "ATCG00853", "ATCG00888", "ATCG00733", "ATCG00766", "ATCG00812", "ATCG00821", "ATCG00856", "ATCG00830", "ATCG00900", "ATCG01060", "ATCG01110", "ATCG01120")), .Names = c("Size_Range", "Abundance", "Gene_Name" ), row.names = c(NA, -60L), class = "data.frame")