我正在尝试创建一个for循环,以自动生成约50个散点图,用于比较两组数据。这是质量控制分析,因此我正在研究被分析两次(重复)的地球化学值。因此,我有一个标记为Al1,Ag1,Au1 .....的53个元素(周期表元素)的列表以及另一个标记为Al2,Ag2 ....等的53个元素的列表。
我已经成功地使我的循环可用于生成只需要一个变量且x轴固定的图形,如下所示。
for(i in colNames){
plt <- ggplot(YGS_Dupes, mapping = aes_string(x=Dup_Num, y = i)) +
geom_bar() + theme_calc() + ggtitle(paste(i, "Duplicate Comparison", sep=" -
"))
print(plt)
ggsave(paste0(i,".png"))
Sys.sleep(2)
}
我将colNames设置为元素列,该函数遍历不同的元素并为每个元素生成一个条形图,其中仅将示例1或示例2显示为X轴(因此,它会并排生成两个条形图侧面)。
我现在需要做的是一个散点图,在这里我比较从Al1到Al2或从Fe1到Fe2的数据,因此我需要for循环使用两组并行的变化变量来运行。我为单个图形制作了函数,如下所示:
ggplot(YGS_Dup_Scatter, mapping = aes(x = Fe_pct1, y =
Fe_pct2))+geom_point()
它看起来像这样:
Fe vs Fe散点图
所以我要做的是设置一组类似的colNames组,如下所示:
colNames_scatter_dup <- names(YGS_Dup_Scatter)[4:56]
colNames_scatter_dup2 <- names(YGS_Dup_Scatter)[57:109]
其中4-56是元素1集,而57-109是元素2集。它们的订购顺序相同,所以我希望4 / 57、5 / 58 .... etc是成对的。
我该如何设置for循环方程式?
谢谢您的帮助
编辑:添加Dput数据供人们尝试。我的观察值和变量太多,因此我将其中的大部分切掉了:
编辑2:好的,所以我做了一个嵌套循环,它满足了我的需要,但是它也会产生太多的图形,如下所示:
for (j in colNames_scatter_dup2) {
for(i in colNames_scatter_dup){
plt <- ggplot(YGS_Dup_Scatter, mapping = aes_string(x=j, y = i)) +
geom_point()
print(plt)
ggsave(paste0(i,".png"))
Sys.sleep(2)
}
}
我现在遇到的问题是它先处理Al1对Al2,然后对Ag1对Al2,……然后得出Al1对Ag2 .....并制作数百个图形。我只想制作实际的53个元素对,却不知道如何将其限制为仅那些。
谢谢
structure(list(DUP_COMP_ID = structure(c(1L, 12L, 23L, 34L, 45L,
56L, 67L, 78L, 89L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L,
13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 24L, 25L, 26L,
27L, 28L, 29L, 30L, 31L, 32L, 33L, 35L, 36L, 37L, 38L, 39L, 40L,
41L, 42L, 43L, 44L, 46L, 47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L,
55L, 57L, 58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 68L, 69L,
70L, 71L, 72L, 73L, 74L, 75L, 76L, 77L, 79L, 80L, 81L, 82L, 83L,
84L, 85L, 86L, 87L, 88L, 90L, 91L, 92L, 93L, 94L, 95L, 96L, 97L,
98L, 99L), .Label = c("DCI_1", "DCI_10", "DCI_11", "DCI_12",
"DCI_13", "DCI_14", "DCI_15", "DCI_16", "DCI_17", "DCI_18", "DCI_19",
"DCI_2", "DCI_20", "DCI_21", "DCI_22", "DCI_23", "DCI_24", "DCI_25",
"DCI_26", "DCI_27", "DCI_28", "DCI_29", "DCI_3", "DCI_30", "DCI_31",
"DCI_32", "DCI_33", "DCI_34", "DCI_35", "DCI_36", "DCI_37", "DCI_38",
"DCI_39", "DCI_4", "DCI_40", "DCI_41", "DCI_42", "DCI_43", "DCI_44",
"DCI_45", "DCI_46", "DCI_47", "DCI_48", "DCI_49", "DCI_5", "DCI_50",
"DCI_51", "DCI_52", "DCI_53", "DCI_54", "DCI_55", "DCI_56", "DCI_57",
"DCI_58", "DCI_59", "DCI_6", "DCI_60", "DCI_61", "DCI_62", "DCI_63",
"DCI_64", "DCI_65", "DCI_66", "DCI_67", "DCI_68", "DCI_69", "DCI_7",
"DCI_70", "DCI_71", "DCI_72", "DCI_73", "DCI_74", "DCI_75", "DCI_76",
"DCI_77", "DCI_78", "DCI_79", "DCI_8", "DCI_80", "DCI_81", "DCI_82",
"DCI_83", "DCI_84", "DCI_85", "DCI_86", "DCI_87", "DCI_88", "DCI_89",
"DCI_9", "DCI_90", "DCI_91", "DCI_92", "DCI_93", "DCI_94", "DCI_95",
"DCI_96", "DCI_97", "DCI_98", "DCI_99"), class = "factor"), Dup_Code = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L), .Label = "Sample 1", class = "factor"), Dup_Code.1 = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L), .Label = "Sample 2", class = "factor"), Ag_ppb1 = c(56L,
58L, 52L, 59L, 68L, 318L, 50L, 70L, 398L, 114L, 38L, 52L, 63L,
64L, 65L, 81L, 66L, 62L, 86L, 146L, 67L, 70L, 49L, 69L, 74L,
55L, 55L, 47L, 109L, 41L, 78L, 115L, 65L, 373L, 59L, 47L, 85L,
72L, 86L, 72L, 77L, 554L, 68L, 85L, 105L, 70L, 67L, 127L, 69L,
67L, 38L, 59L, 284L, 94L, 57L, NA, 92L, 88L, 74L, 73L, 50L, NA,
63L, 57L, 111L, 71L, 47L, 69L, 81L, 45L, 52L, 42L, 34L, 176L,
73L, 140L, 87L, 41L, 36L, 204L, 272L, 52L, 37L, 45L, 187L, 180L,
100L, 60L, 39L, 71L, 92L, 29L, 308L, 157L, 78L, 91L, NA, 60L,
217L), As_ppm1 = c(4.3, 4.8, 4.6, 5, 1.9, 14.3, 3, 5.8, 49.7,
9.2, 3.8, 3.1, 5.9, 5.4, 5, 4.3, 5.3, 4.2, 3.8, 35, 5.8, 6.6,
3.3, 11.2, 3.5, 3.8, 3.8, 4.4, 8.8, 4.9, 3.6, 18.3, 3.6, 6.1,
4.2, 4.4, 9, 7.3, 3.7, 3.4, 13.7, 21.9, 3.9, 5.8, 3.6, 4.4, 2.9,
5.2, 4.9, 5.4, 4.4, 4.3, 5.5, 8.3, 3.4, NA, 6.2, 4.2, 3.5, 5.5,
5, NA, 3.4, 4.2, 7.1, 5.1, 3.8, 6.9, 6.7, 3.2, 4.8, 4.3, 2.6,
4.6, 4.8, 9.3, 7.5, 2.8, 4.2, 4.9, 17, 3.1, 3.9, 4.7, 9.7, 883.2,
7.8, 5.1, 2.4, 10.4, 7.2, 2.9, 6.7, 9.3, 3.7, 7.3, NA, 4.8, 21.5
), Au_ppb1 = c(0.7, 4.6, 1.5, 0.6, 11.9, 2.4, 0.8, 0.8, 2.2,
3.5, 0.4, 0.8, 0.9, 1.7, 1.2, 3.5, 1.4, 1.4, 2.2, 2.6, 3, 0.9,
0.6, 1.5, 0.9, 0.7, 1.4, 3.5, 8.7, 0.4, 0.6, 2.4, 1.1, 1.7, 1.5,
1.3, 0.1, 0.1, 4.5, 44.5, 0.8, 6.6, 48.7, 1.5, 0.7, 0.3, 0.8,
1.1, 1.2, 5.5, 1.4, 1.4, 2.7, 1.9, 1, NA, 0.4, 1, 1.6, 0.3, 0.4,
NA, 0.8, 1.8, 1.9, 0.1, 0.5, 1.4, 0.8, 0.2, 0.8, 0.6, 0.3, 1.1,
1, 2.1, 0.8, 0.4, 0.9, 0.9, 1.2, 1.2, 1.2, 1.3, 1.2, 1.6, 1.8,
0.5, 1.4, 1.3, 1.4, 0.1, 0.6, 1.9, 0.8, 1.5, NA, 0.6, 3.4), B_ppm1 = c(10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 21L, NA, 10L, 10L, 10L, 10L, 10L, NA, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, NA, 10L, 10L), Ba_ppm1 = c(141, 124.2, 171.9,
171, 246.8, 359.3, 96, 205.4, 187.4, 195.3, 115.2, 134.9, 162.9,
156.9, 186.7, 148.4, 164.9, 165.5, 329.1, 106.8, 137.3, 150.7,
180.9, 123.4, 150.6, 122.7, 230.4, 176.1, 208.9, 154.5, 147.2,
242.2, 184.2, 465.5, 217.2, 171.3, 286.6, 248, 243.1, 265.9,
273.3, 317.4, 150.7, 272.7, 332.1, 293.1, 185.7, 262.9, 203.4,
333, 185.2, 203.4, 300.8, 227.3, 193.2, NA, 328, 293.2, 225.7,
286.9, 237.6, NA, 193.5, 293.8, 294.5, 252.2, 160.5, 277, 349.2,
184.5, 231.3, 251.4, 150, 372.4, 237.7, 227.9, 271.8, 66.6, 92.8,
53.4, 112.5, 172.6, 188.5, 177, 315.5, 193.8, 300.2, 132.9, 199.4,
221.4, 375.6, 128.7, 82.7, 157.4, 175.5, 297.9, NA, 190.9, 206.4
), Be_ppm1 = c(0.3, 0.5, 0.2, 0.2, 0.2, 0.2, 0.3, 0.3, 0.6, 0.3,
0.4, 0.4, 0.3, 0.3, 0.4, 0.5, 0.4, 0.3, 0.2, 0.3, 0.9, 0.4, 0.6,
0.3, 0.5, 0.3, 0.3, 0.2, 0.3, 0.3, 0.4, 0.6, 0.3, 0.2, 0.3, 0.3,
0.3, 0.2, 0.6, 0.4, 0.4, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.4,
0.2, 0.3, 0.3, 0.2, 0.3, 0.3, NA, 0.3, 0.05, 0.3, 0.3, 0.2, NA,
0.3, 0.5, 0.3, 0.5, 0.3, 0.3, 0.3, 0.3, 0.2, 0.3, 0.2, 0.4, 0.3,
0.5, 0.4, 0.2, 0.1, 1.8, 1.8, 0.4, 0.2, 0.2, 0.8, 35.9, 0.3,
0.4, 0.2, 0.4, 0.2, 0.4, 0.2, 0.4, 0.3, 0.4, NA, 0.4, 1.2), Bi_ppm1 = c(0.24,
0.29, 0.21, 0.19, 0.13, 0.28, 0.15, 0.16, 0.73, 0.14, 0.12, 0.39,
0.1, 0.12, 0.4, 0.42, 0.13, 0.13, 0.11, 6.67, 0.14, 0.22, 0.15,
0.18, 0.09, 0.06, 0.09, 0.1, 0.18, 0.08, 0.08, 0.14, 0.06, 0.23,
0.1, 0.09, 0.08, 0.14, 0.13, 0.06, 0.08, 0.13, 0.08, 0.15, 0.11,
0.1, 0.07, 0.11, 0.1, 0.06, 0.11, 0.08, 0.11, 0.11, 0.08, NA,
0.12, 0.22, 0.1, 0.13, 0.08, NA, 0.06, 0.18, 0.13, 0.1, 0.16,
0.15, 0.13, 0.07, 0.09, 0.08, 0.06, 0.14, 0.07, 0.21, 0.17, 0.01,
0.05, 2.07, 0.35, 0.13, 0.08, 0.09, 0.23, 0.55, 0.17, 1.1, 0.06,
0.07, 0.14, 0.04, 0.06, 0.15, 0.08, 0.12, NA, 0.09, 0.97), Ca_pct1 = c(0.69,
0.58, 0.46, 0.46, 0.42, 0.41, 0.51, 0.5, 0.6, 0.83, 0.42, 0.34,
0.69, 0.98, 0.51, 0.43, 0.78, 0.44, 0.38, 0.56, 1.07, 0.46, 0.72,
0.77, 1.08, 0.64, 0.46, 0.57, 0.5, 0.5, 0.88, 0.65, 0.67, 0.28,
0.75, 0.59, 0.49, 0.72, 0.31, 0.42, 0.71, 0.14, 0.42, 0.69, 0.29,
0.39, 0.31, 0.94, 0.7, 0.47, 0.71, 0.38, 0.31, 0.5, 0.47, NA,
0.47, 0.37, 0.67, 0.68, 0.32, NA, 0.64, 0.31, 0.83, 0.52, 0.33,
0.71, 0.91, 0.49, 0.58, 0.35, 0.34, 0.5, 0.54, 0.92, 0.4, 3.74,
1.69, 0.21, 0.4, 0.45, 0.66, 0.49, 0.56, 0.88, 0.41, 0.41, 0.31,
0.53, 0.96, 1.13, 0.35, 0.58, 0.33, 0.56, NA, 0.68, 0.32), Cd_ppm1 = c(0.13,
0.22, 0.12, 0.15, 0.09, 0.99, 0.13, 0.19, 0.88, 0.34, 0.1, 0.15,
0.17, 0.16, 0.14, 0.2, 0.14, 0.11, 0.15, 0.2, 0.14, 0.17, 0.1,
0.17, 0.18, 0.13, 0.11, 0.13, 0.2, 0.12, 0.13, 0.27, 0.13, 0.37,
0.21, 0.12, 0.18, 0.08, 0.14, 0.11, 0.15, 0.41, 0.19, 0.3, 0.23,
0.15, 0.1, 0.34, 0.13, 0.13, 0.09, 0.15, 0.25, 0.17, 0.12, NA,
0.17, 0.22, 0.14, 0.21, 0.11, NA, 0.1, 0.16, 0.27, 0.19, 0.13,
0.22, 0.26, 0.05, 0.17, 0.15, 0.1, 0.39, 0.16, 0.47, 0.21, 0.17,
0.14, 0.59, 1.11, 0.12, 0.13, 0.1, 0.63, 0.47, 0.33, 0.2, 0.11,
0.26, 0.28, 0.11, 0.1, 0.55, 0.37, 0.29, NA, 0.18, 0.82), Ag_ppb2 = c(59L,
73L, 69L, 75L, 85L, 319L, 43L, 73L, 405L, 121L, 33L, 45L, 71L,
67L, 67L, 80L, 50L, 45L, 68L, 140L, 56L, 69L, 51L, 71L, 79L,
51L, 36L, 52L, 93L, 31L, 98L, 134L, 67L, 386L, 47L, 46L, 90L,
63L, 86L, 54L, 59L, 478L, 61L, 114L, 108L, 74L, 72L, 147L, 60L,
74L, 40L, 56L, 256L, 112L, 62L, 87L, 71L, 104L, 109L, 55L, 45L,
84L, 69L, 63L, 107L, 70L, 57L, 73L, 100L, 45L, 43L, 36L, 39L,
161L, 108L, 100L, 93L, 32L, 45L, 187L, 267L, 68L, 37L, 57L, 228L,
74L, 69L, 47L, 65L, 101L, 33L, 32L, 139L, 77L, 78L, NA, 59L,
214L, 410L), As_ppm2 = c(3.9, 3.8, 4.4, 5.4, 1.7, 14.4, 3.1,
5.9, 52.3, 9.7, 3.5, 2.7, 6.7, 5.2, 5, 4.3, 4.8, 4, 3.9, 31.9,
5.3, 6.5, 3.6, 10.4, 3.5, 3.9, 3.6, 4.3, 8.9, 5.3, 3.8, 16.7,
3.7, 6.1, 3.7, 4, 9.6, 6.4, 4, 3.1, 13.2, 22.1, 4.3, 6.9, 3.6,
4.9, 3.4, 4.8, 4.1, 4.8, 4.2, 3.8, 5.3, 9.2, 3.3, 12.5, 5.3,
4.4, 4.8, 5.7, 5, 5.5, 3.4, 4.4, 6.5, 4.8, 4, 6.5, 6.2, 3.4,
4.5, 3.8, 2.6, 4.7, 8, 8.5, 7.6, 2.6, 4.7, 5.2, 15.8, 4, 3.1,
5.3, 343.7, 7.4, 5.1, 3, 11, 7.3, 3, 6.8, 21.1, 4.1, 9.1, NA,
4.4, 21, 122.1), Au_ppb2 = c(0.9, 1.6, 0.1, 1.3, 0.7, 1.8, 0.6,
0.8, 1.6, 2.7, 0.4, 0.9, 0.9, 1.8, 1.5, 1.6, 1.5, 0.9, 2, 1.3,
0.3, 3, 0.8, 2.5, 1.5, 0.4, 1.2, 1.4, 1, 1.1, 0.4, 113.3, 0.6,
2.2, 1.9, 0.7, 0.5, 0.1, 1.8, 0.9, 1.4, 4.3, 1.6, 0.8, 0.7, 0.9,
0.6, 2.4, 5.6, 1.2, 0.9, 1.1, 2.1, 1.1, 0.9, 0.8, 0.9, 1, 4,
0.3, 1.5, 0.5, 1.2, 1, 1.5, 0.1, 1.2, 19.8, 32.8, 0.1, 0.7, 0.7,
1, 0.5, 2.3, 1.6, 1.6, 0.6, 0.9, 1.7, 1.9, 1.3, 1.1, 1.1, 0.9,
4.8, 0.5, 0.4, 1.6, 1, 0.1, 0.9, 1.3, 0.8, 2.7, NA, 0.8, 4, 3.6
), B_ppm2 = c(10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 22L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 23L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 10L, 10L, 10L, 10L, NA, 10L, 10L, 10L), Ba_ppm2 = c(137.5,
128, 175, 205.6, 262.7, 356.1, 91.2, 212.8, 207, 217.4, 111,
132.4, 179.4, 139.8, 188.9, 164.4, 136, 158.7, 348.9, 96.6, 141.3,
143.7, 187, 121.2, 166.9, 131, 235.9, 189.5, 201.4, 158.7, 148.3,
227, 190, 415.9, 197.2, 178, 268, 221.1, 251.5, 243.3, 260.4,
310, 165.8, 308.2, 342.8, 317, 185, 241.7, 189.2, 291.4, 199.4,
214.7, 312.2, 273, 197.8, 265, 255, 315.2, 281.7, 326, 236.5,
229.7, 197.8, 308.4, 277.2, 258.7, 185.7, 261.2, 354.7, 177.7,
213.2, 226.7, 159.2, 369.5, 359.1, 224.9, 275.4, 54, 106.7, 53.4,
100.9, 194.7, 188.4, 187.4, 162.9, 237.7, 146.9, 189, 214.9,
368.1, 134.8, 82.4, 130.4, 187.8, 291.2, NA, 171.9, 209.5, 318.5
), Be_ppm2 = c(0.2, 0.3, 0.4, 0.3, 0.3, 0.4, 0.1, 0.3, 0.6, 0.4,
0.4, 0.5, 0.4, 0.3, 0.5, 0.7, 0.3, 0.3, 0.2, 0.4, 0.7, 0.4, 0.4,
0.3, 0.4, 0.2, 0.3, 0.3, 0.5, 0.6, 0.5, 0.4, 0.3, 0.3, 0.3, 0.2,
0.2, 0.2, 0.5, 0.2, 0.3, 0.3, 0.2, 0.4, 0.3, 0.2, 0.2, 0.2, 0.3,
0.2, 0.3, 0.2, 0.3, 0.5, 0.3, 0.4, 0.3, 0.3, 0.2, 0.3, 0.1, 0.5,
0.2, 0.6, 0.3, 0.4, 0.4, 0.2, 0.4, 0.3, 0.3, 0.2, 0.2, 0.3, 0.5,
0.3, 0.3, 0.2, 0.2, 1.6, 1.8, 0.5, 0.2, 0.6, 33.1, 0.1, 0.6,
0.05, 0.2, 0.3, 0.7, 0.2, 1.5, 0.3, 0.3, NA, 0.3, 1.2, 1.4),
Bi_ppm2 = c(0.23, 0.28, 0.23, 0.21, 0.12, 0.26, 0.14, 0.16,
0.69, 0.16, 0.12, 0.34, 0.11, 0.11, 0.41, 0.36, 0.12, 0.11,
0.11, 2.86, 0.14, 0.23, 0.19, 0.18, 0.1, 0.05, 0.08, 0.11,
0.15, 0.08, 0.09, 0.15, 0.06, 0.24, 0.08, 0.09, 0.09, 0.12,
0.14, 0.07, 0.07, 0.12, 0.09, 0.18, 0.1, 0.1, 0.09, 0.09,
0.11, 0.06, 0.1, 0.07, 0.1, 0.12, 0.08, 0.09, 0.1, 0.2, 0.09,
0.1, 0.09, 0.17, 0.06, 0.15, 0.12, 0.1, 0.17, 0.13, 0.12,
0.05, 0.08, 0.08, 0.07, 0.17, 0.12, 0.21, 0.17, 0.01, 0.05,
1.93, 0.33, 0.15, 0.05, 0.08, 0.68, 0.12, 0.3, 0.06, 0.06,
0.14, 0.05, 0.08, 0.4, 0.09, 0.12, NA, 0.07, 0.98, 2.21),
Ca_pct2 = c(0.6, 0.56, 0.48, 0.53, 0.4, 0.41, 0.47, 0.51,
0.58, 0.86, 0.41, 0.33, 0.7, 0.9, 0.51, 0.45, 0.67, 0.44,
0.39, 0.56, 1.05, 0.48, 1.21, 0.83, 1.1, 0.66, 0.45, 0.62,
0.5, 0.47, 1.04, 0.66, 0.64, 0.3, 0.74, 0.58, 0.49, 0.65,
0.31, 0.42, 0.62, 0.13, 0.42, 0.84, 0.29, 0.4, 0.32, 1.01,
0.6, 0.46, 0.71, 0.41, 0.3, 0.58, 0.5, 1.02, 0.4, 0.39, 0.87,
0.79, 0.34, 0.44, 0.67, 0.31, 0.79, 0.47, 0.33, 0.67, 0.86,
0.5, 0.49, 0.29, 0.35, 0.5, 0.87, 0.8, 0.39, 3.36, 1.78,
0.22, 0.36, 0.5, 0.57, 0.53, 0.58, 0.37, 0.43, 0.3, 0.46,
1.03, 1.12, 0.36, 0.48, 0.38, 0.52, NA, 0.52, 0.33, 1.21),
Cd_ppm2 = c(0.13, 0.19, 0.12, 0.15, 0.1, 0.97, 0.1, 0.21,
0.92, 0.35, 0.1, 0.09, 0.16, 0.18, 0.16, 0.17, 0.11, 0.11,
0.2, 0.16, 0.11, 0.16, 0.13, 0.17, 0.2, 0.13, 0.14, 0.15,
0.25, 0.05, 0.18, 0.28, 0.09, 0.3, 0.22, 0.09, 0.18, 0.12,
0.1, 0.1, 0.15, 0.3, 0.17, 0.33, 0.2, 0.15, 0.1, 0.59, 0.16,
0.16, 0.1, 0.13, 0.24, 0.21, 0.11, 0.46, 0.12, 0.24, 0.23,
0.17, 0.11, 0.22, 0.13, 0.18, 0.24, 0.16, 0.17, 0.18, 0.23,
0.09, 0.12, 0.1, 0.1, 0.35, 0.37, 0.43, 0.24, 0.16, 0.17,
0.62, 1, 0.13, 0.12, 0.11, 0.56, 0.23, 0.22, 0.15, 0.23,
0.28, 0.12, 0.1, 0.97, 0.36, 0.3, NA, 0.19, 0.89, 3.59)), class = "data.frame", row.names = c(NA,
-99L))
答案 0 :(得分:1)
考虑Map
(包装到mapply
),它是在等长列表之间逐元素运行并将输出保存到列表中的迭代函数。这样做可以避免使用嵌套for
循环方法时看到的无关的循环。
# EXTRACT NEEDED NAMES
samples1 <- names(YGS_Dupes)[grep("1$", names(YGS_Dupes))][-1] # -1 TO REMOVE Dupe_Code.1
samples2 <- names(YGS_Dupes)[grep("2$", names(YGS_Dupes))]
# SET UP LOOPING FUNCTION
plot_fct <- function(s1, s2) {
s_title <- gsub("1", "", s1)
p <- ggplot(YGS_Dupes, aes_string(x=s1, y=s2)) + geom_point(color="#0072B2") +
ggtitle(paste(s_title, "Duplicate Comparison", sep=" - ")) +
theme(plot.title = element_text(hjust = 0.5), legend.position="top",
axis.text.x = element_text(angle = 90, hjust = 1, vjust=0.5))
ggsave(paste0(s_title,".png"))
return(p)
}
# BUILD LIST LOOPING ELEMENTWISE
plot_list2 <- Map(plot_fct, samples1, samples2)
# OUTPUT PLOTS BY NAME
plot_list2$Ag_ppb1
plot_list2$As_ppm1
plot_list2$Au_ppb1
输出(前三个图)
答案 1 :(得分:0)
尝试一下:
For (i in 1:length(colNames_scatter_dup)){
print(ggplot(YGS_Dup_Scatter, mapping = aes(x = YGS_Dup_Scatter[,names(YGS_Dup_Scatter) %in% colNames_scatter_dup[i]], y = YGS_Dup_Scatter[,names(YGS_Dup_Scatter) %in% colNames_scatter_dup2[i]]))+geom_point())
}
答案 2 :(得分:0)
好的,Parfait,谢谢您的帮助,与同事讨论您的答案使我到达了需要去的地方。
最终结果如下:
import requests
import sys
import os
url = 'https://rally1.rallydev.com/slm/webservice/v2.0/hierarchicalrequirement/ObjectID'
headers = {'zsessionid': '<my api key>'}
r = requests.get(url, headers=headers)
关键是使用长度函数并构造我的列,使其依次为A1,A2 ... A53,然后是B1,B2 ....等等。
相同的长度允许length函数使它们保持配对。
感谢大家的帮助!
答案 3 :(得分:0)
作为使用for循环绘制散点图的一般解决方案,可以使用以下流程。
步骤1:创建绘图功能
在以下代码中,我明确提供了数据框和x轴目标变量。对于y轴上的变量,我在函数中传递了列号,以便稍后可以运行for循环。
sct_plot_function <- function(dataset = car.c2.num, target_x = car.c2.num$price, target_y_num){
ggplot(dataset, aes(x = target_x, y = car.c2.num[,target_y_num])) +
geom_point() +
geom_smooth(level = 0.95) +
theme_bw() +
labs(title = paste("Scatter plot of Price Vs ", colnames(car.c2.num)[target_y_num]), y = colnames(car.c2.num)[target_y_num], x = "Price") +
theme(plot.title = element_text(hjust = 0.5))
}
步骤2:使用for循环一次绘制多个散点图。
使用dim(car.c2.num)[2] - 1
从数据框中提取减去的列数,然后使用i in 1:(dim(car.c2.num)[2] - 1)
我这样做的原因是,对我来说14变量是x轴固定的目标变量。
for(i in 1:(dim(car.c2.num)[2] - 1) ){
plot(sct_plot_function(target_y_num = i))
}
您可以使用它作为基本结构来为多个x和y轴重新定义。 如果您打算分别在x和y轴上绘制所有变量组合,则可以进一步使用嵌套的for循环。
示例图片:
汽车数据集UCI的价格与压缩比的散点图