如何制作具有不同图例标签形状的点图?

问题描述 投票:0回答:1

我正在尝试处理从同事那里收到的代码。它非常重复,而且图例标签形状始终相同(尽管在图表区域中,我看到了我想要的不同形状),无论我如何努力使其在不同处理中有所不同。一旦共享信息的空间受到限制,原始代码将发布在第一条评论中:

这或多或少是情节的样子:

以下是原始表格的前五行:

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"))
  
r ggplot2 legend shapes dot-plot
1个回答
0
投票

只是将我用作 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                                                             

                                                             
© www.soinside.com 2019 - 2024. All rights reserved.