#set working directory
getwd()
## [1] "C:/Users/ASUS/Downloads"
setwd("C:/Users/ASUS/Downloads")
#library call
library(readr)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.2
library(multcompView)
## Warning: package 'multcompView' was built under R version 4.2.2
library(rlang)
library(vctrs)
## Warning: package 'vctrs' was built under R version 4.2.2
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:vctrs':
## 
##     data_frame
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readxl)
library(tidyverse)
## ── Attaching packages
## ───────────────────────────────────────
## tidyverse 1.3.2 ──
## ✔ tibble  3.1.8     ✔ stringr 1.4.1
## ✔ tidyr   1.2.1     ✔ forcats 0.5.2
## ✔ purrr   0.3.5     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ purrr::%@%()         masks rlang::%@%()
## ✖ purrr::as_function() masks rlang::as_function()
## ✖ tibble::data_frame() masks dplyr::data_frame(), vctrs::data_frame()
## ✖ dplyr::filter()      masks stats::filter()
## ✖ purrr::flatten()     masks rlang::flatten()
## ✖ purrr::flatten_chr() masks rlang::flatten_chr()
## ✖ purrr::flatten_dbl() masks rlang::flatten_dbl()
## ✖ purrr::flatten_int() masks rlang::flatten_int()
## ✖ purrr::flatten_lgl() masks rlang::flatten_lgl()
## ✖ purrr::flatten_raw() masks rlang::flatten_raw()
## ✖ purrr::invoke()      masks rlang::invoke()
## ✖ dplyr::lag()         masks stats::lag()
## ✖ purrr::splice()      masks rlang::splice()
library(datasets)
#import data
data<- read.csv("qPCR_data.csv")
data
##         Condition      SOS1     MYB32    OsIAA4    OsIAA11
## 1     paired salt 6.6500415 2.2338509 4.2057982 15.2615752
## 2     paired salt 1.3188965 3.8550564 7.3496872 40.9389073
## 3     paired salt 3.9844690 0.6126454 1.0619092 15.2615752
## 4  paired_control 2.2419187 0.8729655 0.4223344  0.7044219
## 5  paired_control 2.1355190 0.3819304 0.2468449  1.0212733
## 6  paired_control 2.1887188 1.3640006 0.5978240  0.3875704
## 7  unpair_control 1.0491444 1.2028127 1.9065266  1.1369593
## 8  unpair_control 0.9541699 0.5364505 0.2925789  0.5965396
## 9  unpair_control 1.0016572 1.8691749 3.5204743  1.6773790
## 10  unpaired_salt 1.9990537 1.4142991 1.4588538  1.0998857
## 11  unpaired_salt 3.0000000 2.4707663 2.5180016  0.6443767
## 12  unpaired_salt 0.9981075 0.3578319 0.3997061  1.5553947
#anova test
fit <- aov(SOS1 ~ Condition, data=data)
summary(fit)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Condition    3  13.88   4.626   2.281  0.156
## Residuals    8  16.23   2.028
#install.packages("agricolae")
#library(agricolae)
#duncan.test(fit, data$Condition, alpha = 1)
#tukey 
tukey<-TukeyHSD(fit, conf.level = 0.95)
tukey
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = SOS1 ~ Condition, data = data)
## 
## $Condition
##                                     diff       lwr       upr     p adj
## paired_control-paired salt    -1.7957502 -5.519361 1.9278604 0.4574449
## unpair_control-paired salt    -2.9828118 -6.706422 0.7407987 0.1227217
## unpaired_salt-paired salt     -1.9854153 -5.709026 1.7381953 0.3796718
## unpair_control-paired_control -1.1870617 -4.910672 2.5365489 0.7426660
## unpaired_salt-paired_control  -0.1896651 -3.913276 3.5339454 0.9983233
## unpaired_salt-unpair_control   0.9973966 -2.726214 4.7210071 0.8259458
# compact letter display
cld <- multcompLetters4(fit, tukey)
print(cld)
## $Condition
## $Condition$Letters
##    paired salt paired_control  unpaired_salt unpair_control 
##            "a"            "a"            "a"            "a" 
## 
## $Condition$LetterMatrix
##                   a
## paired salt    TRUE
## paired_control TRUE
## unpaired_salt  TRUE
## unpair_control TRUE
data_summary <- group_by(data, Condition) %>%
  summarise(mean=mean(SOS1), quant = quantile(SOS1, probs = 0.75)) %>%
  arrange(desc(mean))
print(data_summary)
## # A tibble: 4 × 3
##   Condition       mean quant
##   <chr>          <dbl> <dbl>
## 1 paired salt     3.98  5.32
## 2 paired_control  2.19  2.22
## 3 unpaired_salt   2.00  2.50
## 4 unpair_control  1.00  1.03
add_cld <- as.data.frame.list(cld$Condition)
data_summary$Tukey <- add_cld$Letters
print(data_summary)
## # A tibble: 4 × 4
##   Condition       mean quant Tukey
##   <chr>          <dbl> <dbl> <chr>
## 1 paired salt     3.98  5.32 a    
## 2 paired_control  2.19  2.22 a    
## 3 unpaired_salt   2.00  2.50 a    
## 4 unpair_control  1.00  1.03 a
personal_theme = theme(plot.title = 
                         element_text(hjust = 0.5))
# boxplot
ggplot(data,aes(Condition, SOS1, fill = Condition))+
  geom_boxplot()+
  labs(title= "Relative expression of SOS1",x="Condition", y="SOS1 Expression") +
  theme_bw() + 
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
  geom_text(data = data_summary, aes(y=quant, label = Tukey), position = position_dodge(0.90), size = 3, vjust=-1.6, hjust =-0.7)

fit <- aov(MYB32
~ Condition, data=data)
summary(fit)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Condition    3  3.025   1.008   0.911  0.478
## Residuals    8  8.859   1.107
tukey<-TukeyHSD(fit, conf.level = 0.95)
tukey
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = MYB32 ~ Condition, data = data)
## 
## $Condition
##                                     diff       lwr      upr     p adj
## paired_control-paired salt    -1.3608854 -4.112420 1.390649 0.4378168
## unpair_control-paired salt    -1.0310382 -3.782572 1.720496 0.6436550
## unpaired_salt-paired salt     -0.8195518 -3.571086 1.931983 0.7780828
## unpair_control-paired_control  0.3298472 -2.421687 3.081381 0.9794375
## unpaired_salt-paired_control   0.5413336 -2.210201 3.292868 0.9194852
## unpaired_salt-unpair_control   0.2114864 -2.540048 2.963021 0.9943379
#installed.packages("multcompView")
library(multcompView)
cld <- multcompLetters4(fit, tukey)
print(cld)
## $Condition
## $Condition$Letters
##    paired salt  unpaired_salt unpair_control paired_control 
##            "a"            "a"            "a"            "a" 
## 
## $Condition$LetterMatrix
##                   a
## paired salt    TRUE
## unpaired_salt  TRUE
## unpair_control TRUE
## paired_control TRUE
data_summary <- group_by(data, Condition) %>%
  summarise(mean=mean(MYB32
), quant = quantile(MYB32
, probs = 0.75)) %>%
  arrange(desc(mean))
print(data_summary)
## # A tibble: 4 × 3
##   Condition       mean quant
##   <chr>          <dbl> <dbl>
## 1 paired salt    2.23   3.04
## 2 unpaired_salt  1.41   1.94
## 3 unpair_control 1.20   1.54
## 4 paired_control 0.873  1.12
add_cld <- as.data.frame.list(cld$Condition)
data_summary$Tukey <- add_cld$Letters
print(data_summary)
## # A tibble: 4 × 4
##   Condition       mean quant Tukey
##   <chr>          <dbl> <dbl> <chr>
## 1 paired salt    2.23   3.04 a    
## 2 unpaired_salt  1.41   1.94 a    
## 3 unpair_control 1.20   1.54 a    
## 4 paired_control 0.873  1.12 a
personal_theme = theme(plot.title = 
                         element_text(hjust = 0.5))
# boxplot
ggplot(data,aes(Condition, MYB32
, fill = Condition))+
  geom_boxplot()+
  labs(title= "Relative expression of MYB32
",x="Condition", y="MYB32
 Expression") +
  theme_bw() + 
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
  geom_text(data = data_summary, aes(y=quant, label = Tukey), position = position_dodge(0.90), size = 3, vjust=-1.6, hjust =-0.7)

fit <- aov(OsIAA4

~ Condition, data=data)
summary(fit)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Condition    3  22.97   7.656   2.245   0.16
## Residuals    8  27.28   3.410
tukey<-TukeyHSD(fit, conf.level = 0.95)
tukey
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = OsIAA4 ~ Condition, data = data)
## 
## $Condition
##                                     diff       lwr      upr     p adj
## paired_control-paired salt    -3.7834637 -8.612092 1.045165 0.1327063
## unpair_control-paired salt    -2.2992716 -7.127900 2.529357 0.4673053
## unpaired_salt-paired salt     -2.7469443 -7.575573 2.081684 0.3307328
## unpair_control-paired_control  1.4841922 -3.344436 6.312821 0.7621502
## unpaired_salt-paired_control   1.0365194 -3.792109 5.865148 0.8990620
## unpaired_salt-unpair_control  -0.4476728 -5.276301 4.380956 0.9902008
#installed.packages("multcompView")
library(multcompView)
cld <- multcompLetters4(fit, tukey)
print(cld)
## $Condition
## $Condition$Letters
##    paired salt unpair_control  unpaired_salt paired_control 
##            "a"            "a"            "a"            "a" 
## 
## $Condition$LetterMatrix
##                   a
## paired salt    TRUE
## unpair_control TRUE
## unpaired_salt  TRUE
## paired_control TRUE
data_summary <- group_by(data, Condition) %>%
  summarise(mean=mean(OsIAA4

), quant = quantile(OsIAA4

, probs = 0.75)) %>%
  arrange(desc(mean))
print(data_summary)
## # A tibble: 4 × 3
##   Condition       mean quant
##   <chr>          <dbl> <dbl>
## 1 paired salt    4.21  5.78 
## 2 unpair_control 1.91  2.71 
## 3 unpaired_salt  1.46  1.99 
## 4 paired_control 0.422 0.510
add_cld <- as.data.frame.list(cld$Condition)
data_summary$Tukey <- add_cld$Letters
print(data_summary)
## # A tibble: 4 × 4
##   Condition       mean quant Tukey
##   <chr>          <dbl> <dbl> <chr>
## 1 paired salt    4.21  5.78  a    
## 2 unpair_control 1.91  2.71  a    
## 3 unpaired_salt  1.46  1.99  a    
## 4 paired_control 0.422 0.510 a
personal_theme = theme(plot.title = 
                         element_text(hjust = 0.5))
# boxplot of OsIAA4 gene
ggplot(data,aes(Condition, OsIAA4

, fill = Condition))+
  geom_boxplot()+
  labs(title= "Relative expression of OsIAA4

",x="Condition", y="OsIAA4

 Expression") +
  theme_bw() + 
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
  geom_text(data = data_summary, aes(y=quant, label = Tukey), position = position_dodge(0.90), size = 3, vjust=-1.6, hjust =-0.7)

fit <- aov(OsIAA11

~ Condition, data=data)
summary(fit)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## Condition    3 1174.1   391.4   7.104 0.0121 *
## Residuals    8  440.8    55.1                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tukey<-TukeyHSD(fit, conf.level = 0.95)
tukey
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = OsIAA11 ~ Condition, data = data)
## 
## $Condition
##                                       diff       lwr       upr     p adj
## paired_control-paired salt    -23.11626403 -42.52399 -3.708537 0.0214024
## unpair_control-paired salt    -22.68372657 -42.09145 -3.276000 0.0235908
## unpaired_salt-paired salt     -22.72080022 -42.12853 -3.313073 0.0233943
## unpair_control-paired_control   0.43253746 -18.97519 19.840264 0.9998580
## unpaired_salt-paired_control    0.39546381 -19.01226 19.803191 0.9998914
## unpaired_salt-unpair_control   -0.03707364 -19.44480 19.370653 0.9999999
#installed.packages("multcompView")
library(multcompView)
cld <- multcompLetters4(fit, tukey)
print(cld)
## $Condition
##    paired salt unpair_control  unpaired_salt paired_control 
##            "a"            "b"            "b"            "b"
data_summary <- group_by(data, Condition) %>%
  summarise(mean=mean(OsIAA11

), quant = quantile(OsIAA11

, probs = 0.75)) %>%
  arrange(desc(mean))
print(data_summary)
## # A tibble: 4 × 3
##   Condition        mean  quant
##   <chr>           <dbl>  <dbl>
## 1 paired salt    23.8   28.1  
## 2 unpair_control  1.14   1.41 
## 3 unpaired_salt   1.10   1.33 
## 4 paired_control  0.704  0.863
add_cld <- as.data.frame.list(cld$Condition)
data_summary$Tukey <- add_cld$Letters
print(data_summary)
## # A tibble: 4 × 4
##   Condition        mean  quant Tukey
##   <chr>           <dbl>  <dbl> <chr>
## 1 paired salt    23.8   28.1   a    
## 2 unpair_control  1.14   1.41  b    
## 3 unpaired_salt   1.10   1.33  b    
## 4 paired_control  0.704  0.863 b
personal_theme = theme(plot.title = 
                         element_text(hjust = 0.5))
# boxplot
ggplot(data,aes(Condition, OsIAA11

, fill = Condition))+
  geom_boxplot()+
  labs(title= "Relative expression of OsIAA11

",x="Condition", y="OsIAA11

 Expression") +
  theme_bw() + 
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
  geom_text(data = data_summary, aes(y=quant, label = Tukey), position = position_dodge(0.90), size = 3, vjust=-1.6, hjust =-0.7)

R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.