我正在尝试处理从同事那里收到的代码。它非常重复,而且图例标签形状始终相同(尽管在图表区域中,我看到了我想要的不同形状),无论我如何努力使其在不同处理中有所不同。一旦共享信息的空间受到限制,原始代码将发布在第一条评论中:
以下是原始表格的前五行:
Frame Mock_C1_l1_1 Mock_C1_l1_2 Flg22_C1_l1_1 Flg22_C1_l1_2 Chitin_C1_l1_1 Chitin_C1_l1_2 Mock_C1_l2_1 Mock_C1_l2_2 Flg22_C1_l2_1 Flg22_C1_l2_2 Chitin_C1_l2_1 Chitin_C1_l2_2 Mock_C1_l3_1 Mock_C1_l3_2 Flg22_C1_l3_1 Flg22_C1_l3_2 Chitin_C1_l3_1 Chitin_C1_l3_2 Mock_C3_l1_1 Mock_C3_l1_2 Flg22_C3_l1_1 Flg22_C3_l1_2 Chitin_C3_l1_1 Chitin_C3_l1_2 Mock_C3_l2_1 Mock_C3_l2_2 Flg22_C3_l2_1 Flg22_C3_l2_2 Chitin_C3_l2_1 Chitin_C3_l2_2 Mock_C3_l3_1 Mock_C3_l3_2 Flg22_C3_l3_1 Flg22_C3_l3_2 Chitin_C3_l3_1 Chitin_C3_l3_2 Mock_C5_l1_1 Mock_C5_l1_2 Flg22_C5_l1_1 Flg22_C5_l1_2 Chitin_C5_l1_1 Chitin_C5_l1_2 Mock_C5_l2_1 Mock_C5_l2_2 Flg22_C5_l2_1 Flg22_C5_l2_2 Chitin_C5_l2_1 Chitin_C5_l2_2 Mock_C5_l3_1 Mock_C5_l3_2 Flg22_C5_l3_1 Flg22_C5_l3_2 Chitin_C5_l3_1 Chitin_C5_l3_2 Mock_152_l1_1 Mock_152_l1_2 Flg22_152_l1_1 Flg22_152_l1_2 Chitin_152_l1_1 Chitin_152_l1_2 Mock_152_l2_1 Mock_152_l2_2 Flg22_152_l2_1 Flg22_152_l2_2 Chitin_152_l2_1 Chitin_152_l2_2 Mock_152_l3_1 Mock_152_l3_2 Flg22_152_l3_1 Flg22_152_l3_2 Chitin_152_l3_1 Chitin_152_l3_2 Mock_Agl_l1_1 Mock_Agl_l1_2 Flg22_Agl_l1_1 Flg22_Agl_l1_2 Chitin_Agl_l1_1 Chitin_Agl_l1_2 Mock_Agl_l2_1 Mock_Agl_l2_2 Flg22_Agl_l2_1 Flg22_Agl_l2_2 Chitin_Agl_l2_1 Chitin_Agl_l2_2 Mock_Agl_l3_1 Mock_Agl_l3_2 Flg22_Agl_l3_1 Flg22_Agl_l3_2 Chitin_Agl_l3_1 Chitin_Agl_l3_2
1 261 279 621 318 340 290 340 340 1036 288 433 410 282 258 737 249 302 307 297 314 818 567 343 430 393 288 233 249 613 404 411 343 436 429 271 308 558 343 1171 286 1041 2508 418 313 419 346 320 584 326 252 339 271 486 906 331 280 177 308 242 171 269 239 290 288 347 308 1339 254 759 1253 388 1310 247 238 220 252 1038 206 223 270 170 207 532 1657 162 141 292 259 322 271
2 203 216 641 214 263 317 240 240 999 198 331 341 191 183 667 144 204 217 192 227 781 403 249 358 339 190 190 151 626 326 297 206 302 326 199 181 541 273 1018 161 1544 2658 360 250 321 279 227 656 237 149 259 180 503 818 284 191 123 227 173 142 257 151 191 188 314 179 988 144 739 1374 278 1488 191 139 141 158 1366 181 139 196 111 147 620 2149 100 48 267 171 231 214
3 156 166 608 181 364 1073 216 159 844 162 430 743 159 99 608 128 233 178 154 179 716 361 168 2038 287 134 116 111 916 390 244 146 247 273 191 219 439 251 891 210 6110 4214 223 174 286 247 409 1989 256 101 193 176 1224 1294 207 172 97 202 118 86 189 124 183 141 826 242 756 102 734 1442 558 3904 163 100 112 147 5061 250 118 118 78 119 1593 7902 57 38 216 166 613 796
4 143 126 633 143 1201 4623 176 120 684 114 1261 5140 128 93 542 102 1053 437 103 136 688 329 304 9777 228 93 146 119 3820 1790 180 130 223 226 363 974 436 227 947 229 17798 10243 236 121 230 177 1448 7814 231 108 204 164 4472 3876 180 121 71 153 459 143 139 97 138 120 2786 579 646 90 771 1442 2390 10654 151 87 120 247 13456 772 78 104 77 113 5840 21952 66 47 199 136 2206 2830
5 83 107 558 144 3112 9839 217 108 611 163 3079 13549 132 89 527 111 3114 1676 117 141 737 313 707 20097 223 92 156 160 10556 5633 199 137 226 219 988 3427 439 172 933 309 29512 18198 247 111 250 184 3244 14917 203 97 266 214 9254 8459 211 112 72 158 2020 314 124 80 521 169 5947 1377 604 94 992 1547 6340 20152 137 86 109 342 23442 1767 90 88 50 151 11202 32351 41 34 218 200 5096 6033
好的。然而,尽管多次尝试,代码仍然无法工作。 遵循应该是更清晰的代码:
library(dplyr)
library(readxl)
library(ggplot2)
# Function to calculate standard error
calculate_standard_error <- function(data_vector) {
sd_value <- sd(data_vector, na.rm = TRUE)
sqrt_n <- sqrt(length(data_vector))
standard_error <- sd_value / sqrt_n
return(standard_error)
}
# Function to calculate merged columns and standard errors
calculate_merged_columns_and_errors <- function(data, prefix, columns) {
merged_column <- rowMeans(data[, columns], na.rm = TRUE)
standard_error <- apply(data[, columns], 1, calculate_standard_error)
data[paste0(prefix, "_MergedColumn")] <- merged_column
data[paste0(prefix, "_StandardError")] <- standard_error
return(data)
}
# Function to calculate standard deviation
calculate_sd <- function(data, columns) {
return(apply(data[, columns], 1, sd, na.rm = TRUE))
}
# Read data
Data_combined <- read_excel("dataset.xlsx")
# List of constructs
constructs <- c("MockC1", "MockC3", "MockC5", "Mock152", "MockAgl") # Add other construct names as needed
# Initialize ggplot object
p <- ggplot(Data_combined, aes(x = Frame))
# Loop through constructs
for (construct in constructs) {
columns <- grep(paste(construct, "|Flg22_", "|Chitin_"), colnames(Data_combined), value = TRUE)
Data_combined <- calculate_merged_columns_and_errors(Data_combined, construct, columns)
Data_combined[paste(construct, "_SD")] <- calculate_sd(Data_combined, columns)
# Convert data to tidy format
tidy_data <- Data_combined %>%
select(Frame, paste0(construct, "_MergedColumn"), paste0(construct, "_SD"), paste0(construct, "_StandardError")) %>%
gather(key = "Variable", value = "Value", -Frame)
# Add layers to ggplot object
p <- p +
geom_line(data = tidy_data, aes(x = Frame, y = Value / 500, color = Variable), linetype = "solid", linewidth = 1.5) +
geom_point(data = tidy_data, aes(x = Frame, y = Value / 500, color = Variable), shape = 16, size = 2) +
geom_errorbar(data = tidy_data, aes(
x = Frame,
y = Value / 500,
ymin = (Value - 500 * tidy_data[paste0(construct, "_SD")]) / 500,
ymax = (Value + 500 * tidy_data[paste0(construct, "_SD")]) / 500,
color = Variable
), width = 0.25, position = position_dodge(0.1))
}
# Customize plot
p <- p +
xlab("Minutes") +
ylab("Luminescence (Relative light units x 500)") +
ggtitle(expression("ROS Burst of" ~ italic("Nicotiana benthamiana") ~ " agroinfiltrated with PD0044 C1, C3, C5, empty vector or AGL1 (flg22 and chitin treatment)")) +
scale_x_continuous(breaks = seq(1, 120, by = 5)) +
scale_y_continuous(limits = c(0, 100), expand = c(0, 0)) +
scale_color_manual(values = c(
"MockC1" = "blue", "Flg22C1" = "blue", "ChitinC1" = "blue",
"MockC3" = "red", "Flg22C3" = "red", "ChitinC3" = "red",
"MockC5" = "darkorchid", "Flg22C5" = "darkorchid", "ChitinC5" = "darkorchid",
"Mock152" = "orange", "Flg22152" = "orange", "Chitin152" = "orange",
"MockAgl" = "green", "Flg22Agl" = "green", "ChitinAgl" = "green"
))
# Print the plot
print(p)
你们中有人知道上面的代码中缺少什么或有什么问题吗?
> dput(head(Data_combined))
structure(list(Frame = c(1, 2, 3, 4, 5, 6), Mock_C1_l1_1 = c(233,
181, 138, 127, 73, 111), Mock_C1_l1_2 = c(249, 192, 147, 111,
94, 109), Flg22_C1_l1_1 = c(557, 575, 545, 568, 500, 599), Flg22_C1_l1_2 = c(284,
191, 161, 127, 128, 145), Chitin_C1_l1_1 = c(304, 235, 326, 1079,
2799, 4901), Chitin_C1_l1_2 = c(259, 283, 964, 4159, 8853, 13890
), Mock_C1_l2_1 = c(304, 214, 192, 156, 193, 154), Mock_C1_l2_2 = c(304,
214, 141, 106, 95, 91), Flg22_C1_l2_1 = c(930, 897, 758, 614,
548, 583), Flg22_C1_l2_2 = c(257, 176, 144, 101, 145, 209), Chitin_C1_l2_1 = c(388,
296, 385, 1133, 2769, 4713), Chitin_C1_l2_2 = c(367, 305, 667,
4624, 12192, 20554), Mock_C1_l3_1 = c(252, 170, 141, 113, 117,
110), Mock_C1_l3_2 = c(230, 163, 87, 82, 78, 61), Flg22_C1_l3_1 = c(661,
598, 545, 486, 472, 524), Flg22_C1_l3_2 = c(222, 128, 113, 90,
98, 113), Chitin_C1_l3_1 = c(270, 182, 208, 946, 2801, 5696),
Chitin_C1_l3_2 = c(274, 193, 158, 391, 1506, 3451), Mock_C3_l1_1 = c(265,
171, 137, 91, 103, 113), Mock_C3_l1_2 = c(281, 202, 159,
120, 125, 110), Flg22_C3_l1_1 = c(734, 701, 642, 617, 661,
660), Flg22_C3_l1_2 = c(508, 361, 323, 294, 280, 333), Chitin_C3_l1_1 = c(307,
222, 149, 272, 634, 1364), Chitin_C3_l1_2 = c(385, 320, 1832,
8797, 18085, 26195), Mock_C3_l2_1 = c(352, 303, 256, 203,
199, 169), Mock_C3_l2_2 = c(257, 169, 119, 82, 81, 94), Flg22_C3_l2_1 = c(208,
169, 102, 129, 138, 275), Flg22_C3_l2_2 = c(222, 134, 98,
105, 142, 219), Chitin_C3_l2_1 = c(550, 561, 822, 3436, 9498,
16817), Chitin_C3_l2_2 = c(362, 291, 349, 1609, 5068, 9942
), Mock_C3_l3_1 = c(368, 265, 218, 160, 177, 189), Mock_C3_l3_2 = c(307,
183, 129, 115, 121, 110), Flg22_C3_l3_1 = c(390, 270, 220,
199, 201, 289), Flg22_C3_l3_2 = c(384, 291, 244, 201, 195,
227), Chitin_C3_l3_1 = c(242, 177, 170, 325, 887, 1906),
Chitin_C3_l3_2 = c(275, 161, 195, 875, 3082, 6691), Mock_C5_l1_1 = c(500,
485, 393, 390, 393, 376), Mock_C5_l1_2 = c(307, 244, 224,
202, 153, 161), Flg22_C5_l1_1 = c(1052, 914, 800, 850, 838,
1001), Flg22_C5_l1_2 = c(255, 143, 187, 204, 276, 384), Chitin_C5_l1_1 = c(935,
1388, 5497, 16016, 26559, 34175), Chitin_C5_l1_2 = c(2255,
2390, 3791, 9217, 16376, 21130), Mock_C5_l2_1 = c(374, 322,
199, 210, 220, 268), Mock_C5_l2_2 = c(280, 223, 155, 107,
98, 86), Flg22_C5_l2_1 = c(375, 287, 255, 205, 223, 305),
Flg22_C5_l2_2 = c(309, 249, 220, 157, 164, 251), Chitin_C5_l2_1 = c(286,
202, 366, 1301, 2918, 4533), Chitin_C5_l2_2 = c(524, 588,
1788, 7031, 13423, 17930), Mock_C5_l3_1 = c(291, 211, 228,
206, 181, 193), Mock_C5_l3_2 = c(225, 132, 89, 95, 85, 77
), Flg22_C5_l3_1 = c(303, 231, 172, 182, 237, 336), Flg22_C5_l3_2 = c(242,
160, 156, 146, 191, 231), Chitin_C5_l3_1 = c(435, 451, 1100,
4023, 8327, 12564), Chitin_C5_l3_2 = c(813, 734, 1163, 3486,
7611, 11655), Mock_152_l1_1 = c(296, 254, 184, 160, 188,
213), Mock_152_l1_2 = c(250, 170, 153, 107, 99, 115), Flg22_152_l1_1 = c(157,
109, 85, 62, 63, 58), Flg22_152_l1_2 = c(275, 202, 180, 136,
140, 166), Chitin_152_l1_1 = c(216, 154, 104, 411, 1816,
3966), Chitin_152_l1_2 = c(152, 126, 75, 127, 281, 490),
Mock_152_l2_1 = c(240, 229, 168, 123, 110, 106), Mock_152_l2_2 = c(213,
134, 110, 85, 70, 91), Flg22_152_l2_1 = c(259, 170, 163,
122, 467, 1801), Flg22_152_l2_2 = c(257, 167, 125, 106, 150,
178), Chitin_152_l2_1 = c(310, 281, 741, 2505, 5350, 8241
), Chitin_152_l2_2 = c(275, 159, 216, 519, 1237, 2450), Mock_152_l3_1 = c(1203,
887, 678, 579, 542, 516), Mock_152_l3_2 = c(227, 128, 90,
79, 83, 90), Flg22_152_l3_1 = c(681, 663, 659, 692, 891,
2641), Flg22_152_l3_2 = c(1126, 1235, 1296, 1296, 1390, 1399
), Chitin_152_l3_1 = c(347, 248, 500, 2149, 5704, 10061),
Chitin_152_l3_2 = c(1177, 1337, 3512, 9587, 18135, 25230),
Mock_Agl_l1_1 = c(220, 170, 145, 134, 121, 126), Mock_Agl_l1_2 = c(212,
123, 88, 76, 75, 77), Flg22_Agl_l1_1 = c(196, 125, 99, 106,
96, 94), Flg22_Agl_l1_2 = c(225, 140, 130, 220, 306, 407),
Chitin_Agl_l1_1 = c(932, 1227, 4553, 12108, 21096, 29157),
Chitin_Agl_l1_2 = c(183, 161, 223, 693, 1588, 2702), Mock_Agl_l2_1 = c(199,
123, 104, 68, 79, 76), Mock_Agl_l2_2 = c(241, 174, 104, 92,
77, 88), Flg22_Agl_l2_1 = c(151, 98, 68, 67, 43, 54), Flg22_Agl_l2_2 = c(184,
130, 105, 100, 134, 135), Chitin_Agl_l2_1 = c(477, 556, 1432,
5254, 10080, 13889), Chitin_Agl_l2_2 = c(1489, 1932, 7110,
19755, 29114, 33526), Mock_Agl_l3_1 = c(144, 88, 49, 57,
35, 32), Mock_Agl_l3_2 = c(125, 41, 32, 40, 29, 34), Flg22_Agl_l3_1 = c(261,
238, 192, 177, 194, 338), Flg22_Agl_l3_2 = c(231, 152, 147,
120, 178, 357), Chitin_Agl_l3_1 = c(288, 206, 550, 1983,
4584, 7255), Chitin_Agl_l3_2 = c(242, 191, 714, 2545, 5428,
8144), MockC1_MergedColumn = c(510.633333333333, 518.566666666667,
1322, 4211.86666666667, 8260.03333333333, 12107.2666666667
), MockC1_StandardError = c(82.9196465126195, 103.611261573751,
324.094260447748, 898.435924110229, 1434.85685014968, 1793.21448155491
), `MockC1 _SD` = c(454.169608553163, 567.502251755115, 1775.13737205186,
4920.93622108172, 7859.03463617789, 9821.84021992555)), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
只是将我用作 LLM 工具输入的原始代码添加到我的问题中(上面)以获得更清晰的代码:
library(dplyr)
library(readxl)
library(ggplot2)
Data_combined <- read_excel("B_0044_final.xlsx")
calculate_standard_error <- function(data_vector) {
# Calculate the standard deviation with na.rm = TRUE to handle missing values
sd_value <- sd(data_vector, na.rm = TRUE)
# Calculate the square root of the sample size
sqrt_n <- sqrt(length(data_vector))
# Calculate the standard error
standard_error <- sd_value / sqrt_n
return(standard_error)
}
# Calculate the merged columns for Mock C1, C3, C5, 152 and AGL1 and Flg22 C1, C3, C5, 152 and AGL1 and chitin C1, C3, C5, 152 and AGL1
#Construct 1
Data_combined$MockMergedColumnC1 <- rowMeans(Data_combined[, c("Mock_C1_l1_1", "Mock_C1_l1_2", "Mock_C1_l2_1", "Mock_C1_l2_2", "Mock_C1_l3_1", "Mock_C1_l3_2")], na.rm = TRUE)
Data_combined$Flg22MergedColumnC1 <- rowMeans(Data_combined[, c("Flg22_C1_l1_1", "Flg22_C1_l1_2", "Flg22_C1_l2_1", "Flg22_C1_l2_2", "Flg22_C1_l3_1", "Flg22_C1_l3_2")], na.rm = TRUE)
Data_combined$ChitinMergedColumnC1 <- rowMeans(Data_combined[, c("Chitin_C1_l1_1", "Chitin_C1_l1_2", "Chitin_C1_l2_1", "Chitin_C1_l2_2", "Chitin_C1_l3_1", "Chitin_C1_l3_2")], na.rm = TRUE)
Data_combined$MockC1_StandardError <- apply(Data_combined[, c("Mock_C1_l1_1", "Mock_C1_l1_2", "Mock_C1_l2_1", "Mock_C1_l2_2", "Mock_C1_l3_1", "Mock_C1_l3_2")], 1, calculate_standard_error)
Data_combined$Flg22C1_StandardError<- apply(Data_combined[, c("Flg22_C1_l1_1", "Flg22_C1_l1_2", "Flg22_C1_l2_1", "Flg22_C1_l2_2", "Flg22_C1_l3_1", "Flg22_C1_l3_2")], 1, calculate_standard_error)
Data_combined$ChitinC1_StandardError <- apply(Data_combined[, c("Chitin_C1_l1_1", "Chitin_C1_l1_2", "Chitin_C1_l2_1", "Chitin_C1_l2_2", "Chitin_C1_l3_1", "Chitin_C1_l3_2")], 1, calculate_standard_error)
Data_combined$MockC1_SD <- apply(Data_combined[, c("Mock_C1_l1_1", "Mock_C1_l1_2", "Mock_C1_l2_1", "Mock_C1_l2_2", "Mock_C1_l3_1", "Mock_C1_l3_2")], 1, sd, na.rm = TRUE)
Data_combined$Flg22C1_SD <- apply(Data_combined[, c("Flg22_C1_l1_1", "Flg22_C1_l1_2", "Flg22_C1_l2_1", "Flg22_C1_l2_2", "Flg22_C1_l3_1", "Flg22_C1_l3_2")], 1, sd, na.rm = TRUE)
Data_combined$ChitinC1_SD <- apply(Data_combined[, c("Chitin_C1_l1_1", "Chitin_C1_l1_2", "Chitin_C1_l2_1", "Chitin_C1_l2_2", "Chitin_C1_l3_1", "Chitin_C1_l3_2")], 1, sd, na.rm = TRUE)
#Construct 3
Data_combined$MockMergedColumnC3 <- rowMeans(Data_combined[, c("Mock_C3_l1_1", "Mock_C3_l1_2", "Mock_C3_l2_1", "Mock_C3_l2_2", "Mock_C3_l3_1", "Mock_C3_l3_2")], na.rm = TRUE)
Data_combined$Flg22MergedColumnC3 <- rowMeans(Data_combined[, c("Flg22_C3_l1_1", "Flg22_C3_l1_2", "Flg22_C3_l2_1", "Flg22_C3_l2_2", "Flg22_C3_l3_1", "Flg22_C3_l3_2")], na.rm = TRUE)
Data_combined$ChitinMergedColumnC3 <- rowMeans(Data_combined[, c("Chitin_C3_l1_1", "Chitin_C3_l1_2", "Chitin_C3_l2_1", "Chitin_C3_l2_2", "Chitin_C3_l3_1", "Chitin_C3_l3_2")], na.rm = TRUE)
Data_combined$MockC3_StandardError <- apply(Data_combined[, c("Mock_C3_l1_1", "Mock_C3_l1_2", "Mock_C3_l2_1", "Mock_C3_l2_2", "Mock_C3_l3_1", "Mock_C3_l3_2")], 1, calculate_standard_error)
Data_combined$Flg22C3_StandardError<- apply(Data_combined[, c("Flg22_C3_l1_1", "Flg22_C3_l1_2", "Flg22_C3_l2_1", "Flg22_C3_l2_2", "Flg22_C3_l3_1", "Flg22_C3_l3_2")], 1, calculate_standard_error)
Data_combined$ChitinC3_StandardError <- apply(Data_combined[, c("Chitin_C3_l1_1", "Chitin_C3_l1_2", "Chitin_C3_l2_1", "Chitin_C3_l2_2", "Chitin_C3_l3_1", "Chitin_C3_l3_2")], 1, calculate_standard_error)
Data_combined$MockC3_SD <- apply(Data_combined[, c("Mock_C3_l1_1", "Mock_C3_l1_2", "Mock_C3_l2_1", "Mock_C3_l2_2", "Mock_C3_l3_1", "Mock_C3_l3_2")], 1, sd, na.rm = TRUE)
Data_combined$Flg22C3_SD <- apply(Data_combined[, c("Flg22_C3_l1_1", "Flg22_C3_l1_2", "Flg22_C3_l2_1", "Flg22_C3_l2_2", "Flg22_C3_l3_1", "Flg22_C3_l3_2")], 1, sd, na.rm = TRUE)
Data_combined$ChitinC3_SD <- apply(Data_combined[, c("Chitin_C3_l1_1", "Chitin_C3_l1_2", "Chitin_C3_l2_1", "Chitin_C3_l2_2", "Chitin_C3_l3_1", "Chitin_C3_l3_2")], 1, sd, na.rm = TRUE)
#Construct 5
Data_combined$MockMergedColumnC5 <- rowMeans(Data_combined[, c("Mock_C5_l1_1", "Mock_C5_l1_2", "Mock_C5_l2_1", "Mock_C5_l2_2", "Mock_C5_l3_1", "Mock_C5_l3_2")], na.rm = TRUE)
Data_combined$Flg22MergedColumnC5 <- rowMeans(Data_combined[, c("Flg22_C5_l1_1", "Flg22_C5_l1_2", "Flg22_C5_l2_1", "Flg22_C5_l2_2", "Flg22_C5_l3_1", "Flg22_C5_l3_2")], na.rm = TRUE)
Data_combined$ChitinMergedColumnC5 <- rowMeans(Data_combined[, c("Chitin_C5_l1_1", "Chitin_C5_l1_2", "Chitin_C5_l2_1", "Chitin_C5_l2_2", "Chitin_C5_l3_1", "Chitin_C5_l3_2")], na.rm = TRUE)
Data_combined$MockC5_StandardError <- apply(Data_combined[, c("Mock_C5_l1_1", "Mock_C5_l1_2", "Mock_C5_l2_1", "Mock_C5_l2_2", "Mock_C5_l3_1", "Mock_C5_l3_2")], 1, calculate_standard_error)
Data_combined$Flg22C5_StandardError <- apply(Data_combined[, c("Flg22_C5_l1_1", "Flg22_C5_l1_2", "Flg22_C5_l2_1", "Flg22_C5_l2_2", "Flg22_C5_l3_1", "Flg22_C5_l3_2")], 1, calculate_standard_error)
Data_combined$ChitinC5_StandardError <- apply(Data_combined[, c("Chitin_C5_l1_1", "Chitin_C5_l1_2", "Chitin_C5_l2_1", "Chitin_C5_l2_2", "Chitin_C5_l3_1", "Chitin_C5_l3_2")], 1, calculate_standard_error)
Data_combined$MockC5_SD <- apply(Data_combined[, c("Mock_C5_l1_1", "Mock_C5_l1_2", "Mock_C5_l2_1", "Mock_C5_l2_2", "Mock_C5_l3_1", "Mock_C5_l3_2")], 1, sd, na.rm = TRUE)
Data_combined$MockC5_SD <- apply(Data_combined[, c("Flg22_C5_l1_1", "Flg22_C5_l1_2", "Flg22_C5_l2_1", "Flg22_C5_l2_2", "Flg22_C5_l3_1", "Flg22_C5_l3_2")], 1, sd, na.rm = TRUE)
Data_combined$MockC5_SD <- apply(Data_combined[, c("Chitin_C5_l1_1", "Chitin_C5_l1_2", "Chitin_C5_l2_1", "Chitin_C5_l2_2", "Chitin_C5_l3_1", "Chitin_C5_l3_2")], 1, sd, na.rm = TRUE)
#152
Data_combined$MockMergedColumn152 <- rowMeans(Data_combined[, c("Mock_152_l1_1", "Mock_152_l1_2", "Mock_152_l2_1", "Mock_152_l2_2", "Mock_152_l3_1", "Mock_152_l3_2")], na.rm = TRUE)
Data_combined$Flg22MergedColumn152 <- rowMeans(Data_combined[, c("Flg22_152_l1_1", "Flg22_152_l1_2", "Flg22_152_l2_1", "Flg22_152_l2_2", "Flg22_152_l3_1", "Flg22_152_l3_2")], na.rm = TRUE)
Data_combined$ChitinMergedColumn152 <- rowMeans(Data_combined[, c("Chitin_152_l1_1", "Chitin_152_l1_2", "Chitin_152_l2_1", "Chitin_152_l2_2", "Chitin_152_l3_1", "Chitin_152_l3_2")], na.rm = TRUE)
Data_combined$Mock152_StandardError<- apply(Data_combined[, c("Mock_152_l1_1", "Mock_152_l1_2", "Mock_152_l2_1", "Mock_152_l2_2", "Mock_152_l3_1", "Mock_152_l3_2")], 1, calculate_standard_error)
Data_combined$Flg22152_StandardError <- apply(Data_combined[, c("Flg22_152_l1_1", "Flg22_152_l1_2", "Flg22_152_l2_1", "Flg22_152_l2_2", "Flg22_152_l3_1", "Flg22_152_l3_2")], 1, calculate_standard_error)
Data_combined$Chitin152_StandardError <- apply(Data_combined[, c("Chitin_152_l1_1", "Chitin_152_l1_2", "Chitin_152_l2_1", "Chitin_152_l2_2", "Chitin_152_l3_1", "Chitin_152_l3_2")], 1, calculate_standard_error)
Data_combined$Mock152_SD <- apply(Data_combined[, c("Mock_152_l1_1", "Mock_152_l1_2", "Mock_152_l2_1", "Mock_152_l2_2", "Mock_152_l3_1", "Mock_152_l3_2")], 1, sd, na.rm = TRUE)
Data_combined$Flg22152_SD <- apply(Data_combined[, c("Flg22_152_l1_1", "Flg22_152_l1_2", "Flg22_152_l2_1", "Flg22_152_l2_2", "Flg22_152_l3_1", "Flg22_152_l3_2")], 1, sd, na.rm = TRUE)
Data_combined$Chitin152_SD <- apply(Data_combined[, c("Chitin_152_l1_1", "Chitin_152_l1_2", "Chitin_152_l2_1", "Chitin_152_l2_2", "Chitin_152_l3_1", "Chitin_152_l3_2")], 1, sd, na.rm = TRUE)
#AGL1
Data_combined$MockMergedColumnAgl <- rowMeans(Data_combined[, c("Mock_Agl_l1_1", "Mock_Agl_l1_2", "Mock_Agl_l2_1", "Mock_Agl_l2_2", "Mock_Agl_l3_1", "Mock_Agl_l3_2")], na.rm = TRUE)
Data_combined$Flg22MergedColumnAgl <- rowMeans(Data_combined[, c("Flg22_Agl_l1_1", "Flg22_Agl_l1_2", "Flg22_Agl_l2_1", "Flg22_Agl_l2_2", "Flg22_Agl_l3_1", "Flg22_Agl_l3_2")], na.rm = TRUE)
Data_combined$ChitinMergedColumnAgl <- rowMeans(Data_combined[, c("Chitin_Agl_l1_1", "Chitin_Agl_l1_2", "Chitin_Agl_l2_1", "Chitin_Agl_l2_2", "Chitin_Agl_l3_1", "Chitin_Agl_l3_2")], na.rm = TRUE)
Data_combined$MockAgl_StandardError <- apply(Data_combined[, c("Mock_Agl_l1_1", "Mock_Agl_l1_2", "Mock_Agl_l2_1", "Mock_Agl_l2_2", "Mock_Agl_l3_1", "Mock_Agl_l3_2")], 1, calculate_standard_error)
Data_combined$Flg22Agl_StandardError <- apply(Data_combined[, c("Flg22_Agl_l1_1", "Flg22_Agl_l1_2", "Flg22_Agl_l2_1", "Flg22_Agl_l2_2", "Flg22_Agl_l3_1", "Flg22_Agl_l3_2")], 1, calculate_standard_error)
Data_combined$ChitinAgl_StandardError <- apply(Data_combined[, c("Chitin_Agl_l1_1", "Chitin_Agl_l1_2", "Chitin_Agl_l2_1", "Chitin_Agl_l2_2", "Chitin_Agl_l3_1", "Chitin_Agl_l3_2")], 1, calculate_standard_error)
Data_combined$MockAgl_SD <- apply(Data_combined[, c("Mock_Agl_l1_1", "Mock_Agl_l1_2", "Mock_Agl_l2_1", "Mock_Agl_l2_2", "Mock_Agl_l3_1", "Mock_Agl_l3_2")], 1, sd, na.rm = TRUE)
Data_combined$Flg22Agl_SD <- apply(Data_combined[, c("Flg22_Agl_l1_1", "Flg22_Agl_l1_2", "Flg22_Agl_l2_1", "Flg22_Agl_l2_2", "Flg22_Agl_l3_1", "Flg22_Agl_l3_2")], 1, sd, na.rm = TRUE)
Data_combined$ChitinAgl_SD <- apply(Data_combined[, c("Chitin_Agl_l1_1", "Chitin_Agl_l1_2", "Chitin_Agl_l2_1", "Chitin_Agl_l2_2", "Chitin_Agl_l3_1", "Chitin_Agl_l3_2")], 1, sd, na.rm = TRUE)
#plot with all
#mock-flg
#mock-chitin
ggplot(Data_combined, aes(x = Frame)) +
geom_line(aes(y = MockMergedColumnC1 / 500), linetype = "solid", linewidth = 1.5) +
geom_line(aes(y = Flg22MergedColumnC1 / 500), linetype = "dotdash", linewidth = 1.5) +
geom_line(aes(y = ChitinMergedColumnC1 / 500), linetype = "dotted", linewidth = 1.5) +
geom_line(aes(y = MockMergedColumnC3 / 500), linetype = "solid", linewidth = 1.5) +
geom_line(aes(y = Flg22MergedColumnC3 / 500), linetype = "dotdash", linewidth = 1.5) +
geom_line(aes(y = ChitinMergedColumnC3 / 500), linetype = "dotted", linewidth = 1.5) +
geom_line(aes(y = MockMergedColumnC5 / 500), linetype = "solid", linewidth = 1.5) +
geom_line(aes(y = Flg22MergedColumnC5 / 500), linetype = "dotdash", linewidth = 1.5) +
geom_line(aes(y = ChitinMergedColumnC5 / 500), linetype = "dotted", linewidth = 1.5) +
geom_line(aes(y = MockMergedColumn152 / 500), linetype = "solid", linewidth = 1.5) +
geom_line(aes(y = Flg22MergedColumn152 / 500), linetype = "dotdash", linewidth = 1.5) +
geom_line(aes(y = ChitinMergedColumn152 / 500), linetype = "dotted", linewidth = 1.5) +
geom_line(aes(y = MockMergedColumnAgl / 500), linetype = "solid", linewidth = 1.5) +
geom_line(aes(y = Flg22MergedColumnAgl / 500), linetype = "dotdash", linewidth = 1.5) +
geom_line(aes(y = ChitinMergedColumnAgl / 500), linetype = "dotted", linewidth = 1.5) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = MockMergedColumnC1 / 500, color = "Mock_C1"),
shape = "square", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = Flg22MergedColumnC1 / 500, color = "Flg22_C1"),
shape = "circle", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = ChitinMergedColumnC1 / 500, color = "Chitin_C1"),
shape = "triangle", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = MockMergedColumnC3 / 500, color = "Mock_C3"),
shape = "square", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = Flg22MergedColumnC3 / 500, color = "Flg22_C3"),
shape = "circle", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = ChitinMergedColumnC3 / 500, color = "Chitin_C3"),
shape = "triangle", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = MockMergedColumnC5 / 500, color = "Mock_C5"),
shape = "square", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = Flg22MergedColumnC5 / 500, color = "Flg22_C5"),
shape = "circle", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = ChitinMergedColumnC5 / 500, color = "Chitin_C5"),
shape = "triangle", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = MockMergedColumn152 / 500, color = "Mock_152"),
shape = "square", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = Flg22MergedColumn152 / 500, color = "Flg22_152"),
shape = "circle", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = ChitinMergedColumn152 / 500, color = "Chitin_152"),
shape = "triangle", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = MockMergedColumnAgl / 500, color = "Mock_Agl"),
shape = "square", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = Flg22MergedColumnAgl / 500, color = "Flg22_Agl"),
shape = "circle", size = 4) +
geom_point(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = ChitinMergedColumnAgl / 500, color = "Chitin_Agl"),
shape = "triangle", size = 4) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = MockMergedColumnC1 / 500,
ymin = (MockMergedColumnC1 - MockC1_StandardError) / 500,
ymax = (MockMergedColumnC1 + MockC1_StandardError) / 500,
color = "Mock_C1"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = Flg22MergedColumnC1 / 500,
ymin = (Flg22MergedColumnC1 - Flg22C1_StandardError) / 500,
ymax = (Flg22MergedColumnC1 + Flg22C1_StandardError) / 500,
color = "Flg22_C1"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = ChitinMergedColumnC1 / 500,
ymin = (ChitinMergedColumnC1 - ChitinC1_StandardError) / 500,
ymax = (ChitinMergedColumnC1 + ChitinC1_StandardError) / 500,
color = "Chitin_C1"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = MockMergedColumnC3 / 500,
ymin = (MockMergedColumnC3 - MockC3_StandardError) / 500,
ymax = (MockMergedColumnC3 + MockC3_StandardError) / 500,
color = "Mock_C3"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = Flg22MergedColumnC3 / 500,
ymin = (Flg22MergedColumnC3 - Flg22C3_StandardError) / 500,
ymax = (Flg22MergedColumnC3 + Flg22C3_StandardError) / 500,
color = "Flg22_C3"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = ChitinMergedColumnC3 / 500,
ymin = (ChitinMergedColumnC3 - ChitinC3_StandardError) / 500,
ymax = (ChitinMergedColumnC3 + ChitinC3_StandardError) / 500,
color = "Chitin_C3"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = MockMergedColumnC5 / 500,
ymin = (MockMergedColumnC5 - MockC5_StandardError) / 500,
ymax = (MockMergedColumnC5 + MockC5_StandardError) / 500,
color = "Mock_C5"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = Flg22MergedColumnC5 / 500,
ymin = (Flg22MergedColumnC5 - Flg22C5_StandardError) / 500,
ymax = (Flg22MergedColumnC5 + Flg22C5_StandardError) / 500,
color = "Flg22_C5"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = ChitinMergedColumnC5 / 500,
ymin = (ChitinMergedColumnC5 - ChitinC5_StandardError) / 500,
ymax = (ChitinMergedColumnC5 + ChitinC5_StandardError) / 500,
color = "Chitin_C5"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = MockMergedColumn152 / 500,
ymin = (MockMergedColumn152 - Mock152_StandardError) / 500,
ymax = (MockMergedColumn152 + Mock152_StandardError) / 500,
color = "Mock_152"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = Flg22MergedColumn152 / 500,
ymin = (Flg22MergedColumn152 - Flg22152_StandardError) / 500,
ymax = (Flg22MergedColumn152 + Flg22152_StandardError) / 500,
color = "Flg22_152"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = ChitinMergedColumn152 / 500,
ymin = (ChitinMergedColumn152 - Chitin152_StandardError) / 500,
ymax = (ChitinMergedColumn152 + Chitin152_StandardError) / 500,
color = "Chitin_152"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = MockMergedColumnAgl / 500,
ymin = (MockMergedColumnAgl - MockAgl_StandardError) / 500,
ymax = (MockMergedColumnAgl + MockAgl_StandardError) / 500,
color = "Mock_Agl"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = Flg22MergedColumnAgl / 500,
ymin = (Flg22MergedColumnAgl - Flg22Agl_StandardError) / 500,
ymax = (Flg22MergedColumnAgl + Flg22Agl_StandardError) / 500,
color = "Flg22_Agl"),
width = 1, linewidth = 1) +
geom_errorbar(data = subset(Data_combined, Frame %% 5 == 0),
aes(y = ChitinMergedColumnAgl / 500,
ymin = (ChitinMergedColumnAgl - ChitinAgl_StandardError) / 500,
ymax = (ChitinMergedColumnAgl + ChitinAgl_StandardError) / 500,
color = "Chitin_Agl"),
width = 1, linewidth = 1) +
xlab("Minutes") +
ylab("Luminescence (Relative light units x 500)") +
ggtitle(expression("ROS Burst of" ~ italic("Nicotiana benthamiana") ~ " agroinfiltrated with PD0044 C1, C3, C5, empty vector or AGL1 (flg22 and chitin treatment)")) +
scale_x_continuous(breaks = seq(1, 120, by = 5)) +
scale_y_continuous(limits = c(0, 100), expand = c(0, 0)) +
scale_color_manual(values = c("Mock_C1" = "blue", "Flg22_C1" = "blue", "Chitin_C1" = "blue",
"Mock_C3" = "red", "Flg22_C3" = "red", "Chitin_C3" = "red",
"Mock_C5" = "darkorchid", "Flg22_C5" = "darkorchid", "Chitin_C5" = "darkorchid",
"Mock_152" = "orange", "Flg22_152" = "orange", "Chitin_152" = "orange",
"Mock-Agl" = "#009E73", "Flg22_Agl" = "#009E73", "Chitin_Agl" = "#009E73" )) +
#scale_shape_manual(labels = c("Mock_C1", "FLg22_C1", "Chitin_C1", "Mock_C3", "FLg22_C3", "Chitin_C3", "Mock_C5", "FLg22_C5", "Chitin_C5", "Mock_152", "FLg22_152", "Chitin_152", "Mock_Agl", "FLg22_Agl", "Chitin_Agl"),
#scale_shape_manual(values = c(15, 19, 17, 15, 19, 17, 15, 19, 17, 15, 19, 17, 15, 19, 17)) +
#guides(shape = guide_legend(override.aes = list(shape = 15, 19, 17, 15, 19, 17, 15, 19, 17, 15, 19, 17, 15, 19, 17))) +
theme(panel.background = element_blank(),
panel.grid = element_blank(),
axis.line = element_line(linewidth = 1.5),
plot.title = element_text(size = 18, face = "bold", hjust = 0.5),
axis.title = element_text(size = 14, face = "bold"),
axis.text = element_text(size = 16), # Increased x and y axis labels size
legend.title = element_blank(),
legend.position = "bottom",
legend.text = element_text(size = 14)) # Increased legend text size