├── bookdown.idx ├── docs ├── .nojekyll ├── bookdown.epub ├── bookdown.pdf ├── images │ ├── pc1.png │ ├── pc2.png │ ├── pc3.png │ ├── fvcb.png │ ├── racir.png │ ├── rstudio.png │ ├── coverpage.png │ ├── big-leaf-model.png │ └── weighted-parameter.png ├── bookdown_files │ └── figure-html │ │ ├── vpd-1.png │ │ ├── 2dim-1.png │ │ ├── aappcc-1.png │ │ ├── aappci-1.png │ │ ├── acplot-1.png │ │ ├── alpf-1.png │ │ ├── alpp-1.png │ │ ├── anetcc-1.png │ │ ├── anetci-1.png │ │ ├── dcplot-1.png │ │ ├── difuci-1.png │ │ ├── ggplot-1.png │ │ ├── malp-1.png │ │ ├── maxvar-1.png │ │ ├── mcomp-1.png │ │ ├── mrecr-1.png │ │ ├── nexpr-1.png │ │ ├── nrecr-1.png │ │ ├── pomp-1.png │ │ ├── ppfd-1.png │ │ ├── ppfd-2.png │ │ ├── recr-1.png │ │ ├── scree-1.png │ │ ├── supply-1.png │ │ ├── tolre-1.png │ │ ├── difuci11-1.png │ │ ├── fitacisr-1.png │ │ ├── fitacisr-2.png │ │ ├── intdelay-1.png │ │ ├── intslps-1.png │ │ ├── racircor-1.png │ │ ├── scorepca-1.png │ │ ├── tolresis-1.png │ │ ├── aappdeccc-1.png │ │ ├── aappdecci-1.png │ │ ├── acplotjip-1.png │ │ ├── adyn_plot-1.png │ │ ├── anetdeccc-1.png │ │ ├── anetdecci-1.png │ │ ├── dcplotjip-1.png │ │ ├── fitaci6400-1.png │ │ ├── high3tplot-1.png │ │ ├── intdelaycc-1.png │ │ ├── loadingpca-1.png │ │ ├── prdataplot-1.png │ │ ├── racir_check-1.png │ │ ├── racir_check-2.png │ │ ├── racir_check-3.png │ │ ├── racir_cor-1.png │ │ ├── racircheck-1.png │ │ ├── racircorpkg-1.png │ │ ├── resistplot-1.png │ │ ├── slpdelaycc-1.png │ │ ├── acivsracir_bp-1.png │ │ ├── acivsracirbp-1.png │ │ ├── deasratetplot-1.png │ │ ├── racir_cor_pkg-1.png │ │ ├── emtpy-delta-max-1.png │ │ ├── filter-fit-plot-1.png │ │ ├── filter-fit-plot1-1.png │ │ ├── leaf-delta-max-1.png │ │ ├── toresratetplot-1.png │ │ ├── unnamed-chunk-13-1.png │ │ ├── unnamed-chunk-14-1.png │ │ ├── unnamed-chunk-15-1.png │ │ ├── unnamed-chunk-17-1.png │ │ ├── unnamed-chunk-18-1.png │ │ ├── unnamed-chunk-19-1.png │ │ ├── unnamed-chunk-20-1.png │ │ ├── unnamed-chunk-25-1.png │ │ ├── unnamed-chunk-26-1.png │ │ ├── unnamed-chunk-40-1.png │ │ ├── unnamed-chunk-41-1.png │ │ ├── unnamed-chunk-42-1.png │ │ ├── unnamed-chunk-43-1.png │ │ ├── unnamed-chunk-44-1.png │ │ ├── unnamed-chunk-45-1.png │ │ ├── unnamed-chunk-46-1.png │ │ ├── unnamed-chunk-47-1.png │ │ ├── unnamed-chunk-48-1.png │ │ ├── unnamed-chunk-49-1.png │ │ ├── unnamed-chunk-8-1.png │ │ ├── leaf-delta-max-rev-1.png │ │ ├── racir-steady-start-1.png │ │ ├── cus-ac-plot-leg-cls-1.png │ │ ├── cus-dc-plot-leg-cls-1.png │ │ ├── empty-delta-max-rev-1.png │ │ ├── filter-fit-plot1-rev-1.png │ │ ├── default-moulation-plot-ac-1.png │ │ └── default-moulation-plot-dc-1.png ├── libs │ ├── gitbook-2.6.7 │ │ ├── css │ │ │ ├── fontawesome │ │ │ │ └── fontawesome-webfont.ttf │ │ │ ├── plugin-clipboard.css │ │ │ ├── plugin-table.css │ │ │ ├── plugin-search.css │ │ │ └── plugin-bookdown.css │ │ └── js │ │ │ ├── plugin-clipboard.js │ │ │ ├── jquery.highlight.js │ │ │ ├── plugin-sharing.js │ │ │ └── plugin-fontsettings.js │ ├── anchor-sections-1.0 │ │ ├── anchor-sections.css │ │ └── anchor-sections.js │ ├── anchor-sections-1.0.1 │ │ ├── anchor-sections.css │ │ └── anchor-sections.js │ ├── header-attrs-2.11 │ │ └── header-attrs.js │ ├── header-attrs-2.3 │ │ └── header-attrs.js │ ├── header-attrs-2.5 │ │ └── header-attrs.js │ ├── header-attrs-2.7 │ │ └── header-attrs.js │ ├── header-attrs-2.9.7 │ │ └── header-attrs.js │ └── accessible-code-block-0.0.1 │ │ └── empty-anchor.js ├── css │ └── style.css └── reference-keys.txt ├── latex ├── after_body.tex ├── before_body.tex └── preamble.tex ├── .Rbuildignore ├── .gitignore ├── data ├── Fast.xlsx ├── aci01.xls ├── Empty.xlsx ├── aci6800.csv ├── aci_ex.csv ├── leaf500.csv ├── nlstest.csv ├── aci-curve.xlsx ├── aci-xlc.xlsx ├── empty500.csv ├── empty_test.csv ├── leaf_corr.csv ├── leaf_test.csv ├── racir-empty.xlsx ├── racir-leaf.xlsx ├── racirem │ ├── em-1.csv │ └── em-2.csv ├── racirle │ ├── le-1.csv │ └── le-2.csv ├── adyn │ ├── rcirtest3.xlsx │ └── racirtest1.xlsx ├── conifer │ ├── Dark.xlsx │ ├── Fast.xlsx │ ├── Slow.xlsx │ └── Empty_2.xlsx ├── extdata │ ├── Fast.xlsx │ ├── Empty_2.xlsx │ ├── areacsv │ │ ├── Fast.csv │ │ └── Empty_2.csv │ └── csvdata │ │ ├── Fast.csv │ │ └── Empty_2.csv ├── uncorr_emp500.csv ├── uncorr_leaf500.csv ├── racir-empty-reverse.xlsx ├── racir-leaf-reverse.xlsx ├── leaf_test.csv_corrected.csv ├── ojip │ ├── INDUCTION-484-20171225-13_15_58.xlsx │ ├── INDUCTION-485-20171225-14_12_14.xlsx │ ├── INDUCTION-486-20171225-14_33_46.xlsx │ ├── INDUCTION-487-20171225-14_33_46.xlsx │ └── INDUCTION-4188-20201116-10_53_39.xlsx ├── RAScomps.csv ├── PRcomps.csv ├── DiffusionLimits.csv └── light_response.csv ├── images ├── pc1.png ├── pc2.png ├── pc3.png ├── fvcb.png ├── racir.png ├── rstudio.png ├── coverpage.png ├── big-leaf-model.png └── weighted-parameter.png ├── 14-reference.Rmd ├── DESCRIPTION ├── _bookdown_files └── bookdown_files │ ├── figure-html │ ├── 2dim-1.png │ ├── alpf-1.png │ ├── alpp-1.png │ ├── malp-1.png │ ├── mcomp-1.png │ ├── mrecr-1.png │ ├── nexpr-1.png │ ├── nrecr-1.png │ ├── pomp-1.png │ ├── ppfd-1.png │ ├── ppfd-2.png │ ├── recr-1.png │ ├── scree-1.png │ ├── tolre-1.png │ ├── vpd-1.png │ ├── aappcc-1.png │ ├── aappci-1.png │ ├── acplot-1.png │ ├── anetcc-1.png │ ├── anetci-1.png │ ├── dcplot-1.png │ ├── difuci-1.png │ ├── intslps-1.png │ ├── maxvar-1.png │ ├── supply-1.png │ ├── aappdeccc-1.png │ ├── aappdecci-1.png │ ├── acplotjip-1.png │ ├── adyn_plot-1.png │ ├── anetdeccc-1.png │ ├── anetdecci-1.png │ ├── dcplotjip-1.png │ ├── difuci11-1.png │ ├── fitaci6400-1.png │ ├── fitacisr-1.png │ ├── fitacisr-2.png │ ├── high3tplot-1.png │ ├── intdelay-1.png │ ├── intdelaycc-1.png │ ├── loadingpca-1.png │ ├── prdataplot-1.png │ ├── racir_cor-1.png │ ├── racircheck-1.png │ ├── racircor-1.png │ ├── resistplot-1.png │ ├── scorepca-1.png │ ├── slpdelaycc-1.png │ ├── tolresis-1.png │ ├── acivsracirbp-1.png │ ├── racir_check-1.png │ ├── racircorpkg-1.png │ ├── acivsracir_bp-1.png │ ├── deasratetplot-1.png │ ├── emtpy-delta-max-1.png │ ├── filter-fit-plot-1.png │ ├── leaf-delta-max-1.png │ ├── racir_cor_pkg-1.png │ ├── toresratetplot-1.png │ ├── filter-fit-plot1-1.png │ ├── unnamed-chunk-15-1.png │ ├── unnamed-chunk-17-1.png │ ├── unnamed-chunk-18-1.png │ ├── unnamed-chunk-19-1.png │ ├── unnamed-chunk-20-1.png │ ├── unnamed-chunk-25-1.png │ ├── unnamed-chunk-26-1.png │ ├── unnamed-chunk-41-1.png │ ├── unnamed-chunk-42-1.png │ ├── unnamed-chunk-43-1.png │ ├── unnamed-chunk-44-1.png │ ├── unnamed-chunk-45-1.png │ ├── unnamed-chunk-46-1.png │ ├── unnamed-chunk-47-1.png │ ├── unnamed-chunk-48-1.png │ ├── unnamed-chunk-49-1.png │ ├── cus-ac-plot-leg-cls-1.png │ ├── cus-dc-plot-leg-cls-1.png │ ├── empty-delta-max-rev-1.png │ ├── filter-fit-plot1-rev-1.png │ ├── leaf-delta-max-rev-1.png │ ├── racir-steady-start-1.png │ ├── default-moulation-plot-ac-1.png │ └── default-moulation-plot-dc-1.png │ └── figure-latex │ ├── 2dim-1.pdf │ ├── alpf-1.pdf │ ├── alpp-1.pdf │ ├── malp-1.pdf │ ├── pomp-1.pdf │ ├── ppfd-1.pdf │ ├── ppfd-2.pdf │ ├── recr-1.pdf │ ├── vpd-1.pdf │ ├── aappcc-1.pdf │ ├── aappci-1.pdf │ ├── acplot-1.pdf │ ├── anetcc-1.pdf │ ├── anetci-1.pdf │ ├── dcplot-1.pdf │ ├── difuci-1.pdf │ ├── maxvar-1.pdf │ ├── mcomp-1.pdf │ ├── mrecr-1.pdf │ ├── nexpr-1.pdf │ ├── nrecr-1.pdf │ ├── scree-1.pdf │ ├── supply-1.pdf │ ├── tolre-1.pdf │ ├── aappdeccc-1.pdf │ ├── aappdecci-1.pdf │ ├── acplotjip-1.pdf │ ├── adyn_plot-1.pdf │ ├── anetdeccc-1.pdf │ ├── anetdecci-1.pdf │ ├── dcplotjip-1.pdf │ ├── difuci11-1.pdf │ ├── fitacisr-1.pdf │ ├── fitacisr-2.pdf │ ├── intdelay-1.pdf │ ├── intslps-1.pdf │ ├── racir_cor-1.pdf │ ├── racircor-1.pdf │ ├── scorepca-1.pdf │ ├── tolresis-1.pdf │ ├── fitaci6400-1.pdf │ ├── high3tplot-1.pdf │ ├── intdelaycc-1.pdf │ ├── loadingpca-1.pdf │ ├── prdataplot-1.pdf │ ├── racir_check-1.pdf │ ├── racircheck-1.pdf │ ├── racircorpkg-1.pdf │ ├── resistplot-1.pdf │ ├── slpdelaycc-1.pdf │ ├── acivsracir_bp-1.pdf │ ├── acivsracirbp-1.pdf │ ├── deasratetplot-1.pdf │ ├── leaf-delta-max-1.pdf │ ├── racir_cor_pkg-1.pdf │ ├── toresratetplot-1.pdf │ ├── emtpy-delta-max-1.pdf │ ├── filter-fit-plot-1.pdf │ ├── filter-fit-plot1-1.pdf │ ├── unnamed-chunk-15-1.pdf │ ├── unnamed-chunk-17-1.pdf │ ├── unnamed-chunk-19-1.pdf │ ├── unnamed-chunk-20-1.pdf │ ├── unnamed-chunk-25-1.pdf │ ├── unnamed-chunk-26-1.pdf │ ├── unnamed-chunk-41-1.pdf │ ├── unnamed-chunk-42-1.pdf │ ├── unnamed-chunk-43-1.pdf │ ├── unnamed-chunk-44-1.pdf │ ├── unnamed-chunk-45-1.pdf │ ├── unnamed-chunk-47-1.pdf │ ├── unnamed-chunk-48-1.pdf │ ├── unnamed-chunk-49-1.pdf │ ├── cus-ac-plot-leg-cls-1.pdf │ ├── cus-dc-plot-leg-cls-1.pdf │ ├── empty-delta-max-rev-1.pdf │ ├── leaf-delta-max-rev-1.pdf │ ├── racir-steady-start-1.pdf │ ├── filter-fit-plot1-rev-1.pdf │ ├── default-moulation-plot-ac-1.pdf │ └── default-moulation-plot-dc-1.pdf ├── README.md ├── photoanalysis.Rproj ├── _bookdown.yml ├── css └── style.css ├── .travis.yml ├── 01-1-startR.Rmd ├── index.Rmd ├── 12-3-delete-autoracir-conifer.txt ├── 04-optimize.Rmd ├── _output.yml ├── 06-units.Rmd ├── LICENSE ├── packages.bib ├── rsconnect └── documents │ └── 01-2-batch-data.Rmd │ └── bookdown.org │ └── zhujiedong │ └── 01-2-batch-data.dcf ├── 00-front.Rmd ├── 13-1-big-leaf.Rmd ├── bookdown.lot ├── 02-4-plantecophys-C4.Rmd ├── 12-1-plantecophys-6800.Rmd ├── 09-exp.Rmd ├── 12-2-autoracir.Rmd ├── 03-stomatal.Rmd ├── 12-4-deleted-man-racir.txt ├── 02-2-plantecophys-intr.Rmd ├── 08-nonrec.Rmd ├── 10-modified-rec.Rmd ├── 07-rec.Rmd ├── 12-6-jiptest.Rmd ├── 01-2-batch-data.Rmd ├── 05-coupled.Rmd ├── bookdown.lof ├── 02-1-fvcb-theory.Rmd ├── 02-3-plantecophys-C3.Rmd └── 13-2-pca.Rmd /bookdown.idx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /latex/after_body.tex: -------------------------------------------------------------------------------- 1 | \backmatter 2 | \printindex 3 | -------------------------------------------------------------------------------- /.Rbuildignore: -------------------------------------------------------------------------------- 1 | ^.*\.Rproj$ 2 | ^\.Rproj\.user$ 3 | ^\.travis\.yml$ -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .Rproj.user 2 | .Rhistory 3 | .RData 4 | .Ruserdata 5 | .rsconnect 6 | .txt -------------------------------------------------------------------------------- /data/Fast.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/Fast.xlsx -------------------------------------------------------------------------------- /data/aci01.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/aci01.xls -------------------------------------------------------------------------------- /images/pc1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/images/pc1.png -------------------------------------------------------------------------------- /images/pc2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/images/pc2.png -------------------------------------------------------------------------------- /images/pc3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/images/pc3.png -------------------------------------------------------------------------------- /data/Empty.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/Empty.xlsx -------------------------------------------------------------------------------- /data/aci6800.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/aci6800.csv -------------------------------------------------------------------------------- /data/aci_ex.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/aci_ex.csv -------------------------------------------------------------------------------- /data/leaf500.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/leaf500.csv -------------------------------------------------------------------------------- /data/nlstest.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/nlstest.csv -------------------------------------------------------------------------------- /images/fvcb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/images/fvcb.png -------------------------------------------------------------------------------- /images/racir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/images/racir.png -------------------------------------------------------------------------------- /14-reference.Rmd: -------------------------------------------------------------------------------- 1 | 2 | `r if (knitr:::is_html_output()) '# 参考文献 {#references .unnumbered}'` 3 | -------------------------------------------------------------------------------- /data/aci-curve.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/aci-curve.xlsx -------------------------------------------------------------------------------- /data/aci-xlc.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/aci-xlc.xlsx -------------------------------------------------------------------------------- /data/empty500.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/empty500.csv -------------------------------------------------------------------------------- /data/empty_test.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/empty_test.csv -------------------------------------------------------------------------------- /data/leaf_corr.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/leaf_corr.csv -------------------------------------------------------------------------------- /data/leaf_test.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/leaf_test.csv -------------------------------------------------------------------------------- /docs/bookdown.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown.epub -------------------------------------------------------------------------------- /docs/bookdown.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown.pdf -------------------------------------------------------------------------------- /docs/images/pc1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/images/pc1.png -------------------------------------------------------------------------------- /docs/images/pc2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/images/pc2.png -------------------------------------------------------------------------------- /docs/images/pc3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/images/pc3.png -------------------------------------------------------------------------------- /images/rstudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/images/rstudio.png -------------------------------------------------------------------------------- /data/racir-empty.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/racir-empty.xlsx -------------------------------------------------------------------------------- /data/racir-leaf.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/racir-leaf.xlsx -------------------------------------------------------------------------------- /data/racirem/em-1.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/racirem/em-1.csv -------------------------------------------------------------------------------- /data/racirem/em-2.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/racirem/em-2.csv -------------------------------------------------------------------------------- /data/racirle/le-1.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/racirle/le-1.csv -------------------------------------------------------------------------------- /data/racirle/le-2.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/racirle/le-2.csv -------------------------------------------------------------------------------- /docs/images/fvcb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/images/fvcb.png -------------------------------------------------------------------------------- /docs/images/racir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/images/racir.png -------------------------------------------------------------------------------- /images/coverpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/images/coverpage.png -------------------------------------------------------------------------------- /data/adyn/rcirtest3.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/adyn/rcirtest3.xlsx -------------------------------------------------------------------------------- /data/conifer/Dark.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/conifer/Dark.xlsx -------------------------------------------------------------------------------- /data/conifer/Fast.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/conifer/Fast.xlsx -------------------------------------------------------------------------------- /data/conifer/Slow.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/conifer/Slow.xlsx -------------------------------------------------------------------------------- /data/extdata/Fast.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/extdata/Fast.xlsx -------------------------------------------------------------------------------- /data/uncorr_emp500.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/uncorr_emp500.csv -------------------------------------------------------------------------------- /data/uncorr_leaf500.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/uncorr_leaf500.csv -------------------------------------------------------------------------------- /docs/images/rstudio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/images/rstudio.png -------------------------------------------------------------------------------- /data/adyn/racirtest1.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/adyn/racirtest1.xlsx -------------------------------------------------------------------------------- /data/conifer/Empty_2.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/conifer/Empty_2.xlsx -------------------------------------------------------------------------------- /data/extdata/Empty_2.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/extdata/Empty_2.xlsx -------------------------------------------------------------------------------- /docs/images/coverpage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/images/coverpage.png -------------------------------------------------------------------------------- /images/big-leaf-model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/images/big-leaf-model.png -------------------------------------------------------------------------------- /data/extdata/areacsv/Fast.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/extdata/areacsv/Fast.csv -------------------------------------------------------------------------------- /data/extdata/csvdata/Fast.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/extdata/csvdata/Fast.csv -------------------------------------------------------------------------------- /data/racir-empty-reverse.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/racir-empty-reverse.xlsx -------------------------------------------------------------------------------- /data/racir-leaf-reverse.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/racir-leaf-reverse.xlsx -------------------------------------------------------------------------------- /images/weighted-parameter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/images/weighted-parameter.png -------------------------------------------------------------------------------- /docs/images/big-leaf-model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/images/big-leaf-model.png -------------------------------------------------------------------------------- /data/extdata/areacsv/Empty_2.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/extdata/areacsv/Empty_2.csv -------------------------------------------------------------------------------- /data/extdata/csvdata/Empty_2.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/extdata/csvdata/Empty_2.csv -------------------------------------------------------------------------------- /data/leaf_test.csv_corrected.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/leaf_test.csv_corrected.csv -------------------------------------------------------------------------------- /docs/images/weighted-parameter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/images/weighted-parameter.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/vpd-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/vpd-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/2dim-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/2dim-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/aappcc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/aappcc-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/aappci-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/aappci-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/acplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/acplot-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/alpf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/alpf-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/alpp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/alpp-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/anetcc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/anetcc-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/anetci-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/anetci-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/dcplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/dcplot-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/difuci-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/difuci-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/ggplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/ggplot-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/malp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/malp-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/maxvar-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/maxvar-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/mcomp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/mcomp-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/mrecr-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/mrecr-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/nexpr-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/nexpr-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/nrecr-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/nrecr-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/pomp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/pomp-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/ppfd-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/ppfd-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/ppfd-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/ppfd-2.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/recr-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/recr-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/scree-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/scree-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/supply-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/supply-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/tolre-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/tolre-1.png -------------------------------------------------------------------------------- /data/ojip/INDUCTION-484-20171225-13_15_58.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/ojip/INDUCTION-484-20171225-13_15_58.xlsx -------------------------------------------------------------------------------- /data/ojip/INDUCTION-485-20171225-14_12_14.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/ojip/INDUCTION-485-20171225-14_12_14.xlsx -------------------------------------------------------------------------------- /data/ojip/INDUCTION-486-20171225-14_33_46.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/ojip/INDUCTION-486-20171225-14_33_46.xlsx -------------------------------------------------------------------------------- /data/ojip/INDUCTION-487-20171225-14_33_46.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/ojip/INDUCTION-487-20171225-14_33_46.xlsx -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/difuci11-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/difuci11-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/fitacisr-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/fitacisr-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/fitacisr-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/fitacisr-2.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/intdelay-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/intdelay-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/intslps-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/intslps-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/racircor-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/racircor-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/scorepca-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/scorepca-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/tolresis-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/tolresis-1.png -------------------------------------------------------------------------------- /DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: placeholder 2 | Title: Does not matter. 3 | Version: 0.0.1 4 | Imports: bookdown 5 | Remotes: zhujiedong/jiptest, zhujiedong/readphoto -------------------------------------------------------------------------------- /data/ojip/INDUCTION-4188-20201116-10_53_39.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/data/ojip/INDUCTION-4188-20201116-10_53_39.xlsx -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/aappdeccc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/aappdeccc-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/aappdecci-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/aappdecci-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/acplotjip-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/acplotjip-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/adyn_plot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/adyn_plot-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/anetdeccc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/anetdeccc-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/anetdecci-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/anetdecci-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/dcplotjip-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/dcplotjip-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/fitaci6400-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/fitaci6400-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/high3tplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/high3tplot-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/intdelaycc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/intdelaycc-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/loadingpca-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/loadingpca-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/prdataplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/prdataplot-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/racir_check-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/racir_check-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/racir_check-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/racir_check-2.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/racir_check-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/racir_check-3.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/racir_cor-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/racir_cor-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/racircheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/racircheck-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/racircorpkg-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/racircorpkg-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/resistplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/resistplot-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/slpdelaycc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/slpdelaycc-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/acivsracir_bp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/acivsracir_bp-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/acivsracirbp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/acivsracirbp-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/deasratetplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/deasratetplot-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/racir_cor_pkg-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/racir_cor_pkg-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/2dim-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/2dim-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/alpf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/alpf-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/alpp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/alpp-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/malp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/malp-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/mcomp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/mcomp-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/mrecr-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/mrecr-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/nexpr-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/nexpr-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/nrecr-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/nrecr-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/pomp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/pomp-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/ppfd-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/ppfd-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/ppfd-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/ppfd-2.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/recr-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/recr-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/scree-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/scree-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/tolre-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/tolre-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/vpd-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/vpd-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/2dim-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/2dim-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/alpf-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/alpf-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/alpp-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/alpp-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/malp-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/malp-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/pomp-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/pomp-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/ppfd-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/ppfd-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/ppfd-2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/ppfd-2.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/recr-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/recr-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/vpd-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/vpd-1.pdf -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/emtpy-delta-max-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/emtpy-delta-max-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/filter-fit-plot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/filter-fit-plot-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/filter-fit-plot1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/filter-fit-plot1-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/leaf-delta-max-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/leaf-delta-max-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/toresratetplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/toresratetplot-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-13-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-13-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-14-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-14-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-15-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-15-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-17-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-17-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-18-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-18-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-19-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-19-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-20-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-20-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-25-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-25-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-26-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-26-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-40-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-40-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-41-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-41-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-42-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-42-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-43-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-43-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-44-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-44-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-45-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-45-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-46-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-46-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-47-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-47-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-48-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-48-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-49-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-49-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/unnamed-chunk-8-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/unnamed-chunk-8-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/aappcc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/aappcc-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/aappci-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/aappci-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/acplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/acplot-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/anetcc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/anetcc-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/anetci-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/anetci-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/dcplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/dcplot-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/difuci-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/difuci-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/intslps-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/intslps-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/maxvar-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/maxvar-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/supply-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/supply-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/aappcc-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/aappcc-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/aappci-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/aappci-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/acplot-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/acplot-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/anetcc-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/anetcc-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/anetci-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/anetci-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/dcplot-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/dcplot-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/difuci-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/difuci-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/maxvar-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/maxvar-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/mcomp-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/mcomp-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/mrecr-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/mrecr-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/nexpr-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/nexpr-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/nrecr-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/nrecr-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/scree-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/scree-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/supply-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/supply-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/tolre-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/tolre-1.pdf -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/leaf-delta-max-rev-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/leaf-delta-max-rev-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/racir-steady-start-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/racir-steady-start-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/aappdeccc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/aappdeccc-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/aappdecci-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/aappdecci-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/acplotjip-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/acplotjip-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/adyn_plot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/adyn_plot-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/anetdeccc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/anetdeccc-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/anetdecci-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/anetdecci-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/dcplotjip-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/dcplotjip-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/difuci11-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/difuci11-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/fitaci6400-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/fitaci6400-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/fitacisr-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/fitacisr-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/fitacisr-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/fitacisr-2.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/high3tplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/high3tplot-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/intdelay-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/intdelay-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/intdelaycc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/intdelaycc-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/loadingpca-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/loadingpca-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/prdataplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/prdataplot-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/racir_cor-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/racir_cor-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/racircheck-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/racircheck-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/racircor-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/racircor-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/resistplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/resistplot-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/scorepca-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/scorepca-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/slpdelaycc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/slpdelaycc-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/tolresis-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/tolresis-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/aappdeccc-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/aappdeccc-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/aappdecci-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/aappdecci-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/acplotjip-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/acplotjip-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/adyn_plot-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/adyn_plot-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/anetdeccc-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/anetdeccc-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/anetdecci-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/anetdecci-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/dcplotjip-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/dcplotjip-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/difuci11-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/difuci11-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/fitacisr-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/fitacisr-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/fitacisr-2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/fitacisr-2.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/intdelay-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/intdelay-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/intslps-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/intslps-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/racir_cor-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/racir_cor-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/racircor-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/racircor-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/scorepca-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/scorepca-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/tolresis-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/tolresis-1.pdf -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/cus-ac-plot-leg-cls-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/cus-ac-plot-leg-cls-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/cus-dc-plot-leg-cls-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/cus-dc-plot-leg-cls-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/empty-delta-max-rev-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/empty-delta-max-rev-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/filter-fit-plot1-rev-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/filter-fit-plot1-rev-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/acivsracirbp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/acivsracirbp-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/racir_check-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/racir_check-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/racircorpkg-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/racircorpkg-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/fitaci6400-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/fitaci6400-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/high3tplot-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/high3tplot-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/intdelaycc-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/intdelaycc-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/loadingpca-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/loadingpca-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/prdataplot-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/prdataplot-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/racir_check-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/racir_check-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/racircheck-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/racircheck-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/racircorpkg-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/racircorpkg-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/resistplot-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/resistplot-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/slpdelaycc-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/slpdelaycc-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/acivsracir_bp-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/acivsracir_bp-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/deasratetplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/deasratetplot-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/emtpy-delta-max-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/emtpy-delta-max-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/filter-fit-plot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/filter-fit-plot-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/leaf-delta-max-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/leaf-delta-max-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/racir_cor_pkg-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/racir_cor_pkg-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/toresratetplot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/toresratetplot-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/acivsracir_bp-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/acivsracir_bp-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/acivsracirbp-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/acivsracirbp-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/deasratetplot-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/deasratetplot-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/leaf-delta-max-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/leaf-delta-max-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/racir_cor_pkg-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/racir_cor_pkg-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/toresratetplot-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/toresratetplot-1.pdf -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/default-moulation-plot-ac-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/default-moulation-plot-ac-1.png -------------------------------------------------------------------------------- /docs/bookdown_files/figure-html/default-moulation-plot-dc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/bookdown_files/figure-html/default-moulation-plot-dc-1.png -------------------------------------------------------------------------------- /docs/libs/gitbook-2.6.7/css/fontawesome/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/docs/libs/gitbook-2.6.7/css/fontawesome/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/filter-fit-plot1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/filter-fit-plot1-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-15-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-15-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-17-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-17-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-18-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-18-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-19-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-19-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-20-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-20-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-25-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-25-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-26-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-26-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-41-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-41-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-42-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-42-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-43-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-43-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-44-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-44-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-45-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-45-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-46-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-46-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-47-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-47-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-48-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-48-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/unnamed-chunk-49-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/unnamed-chunk-49-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/emtpy-delta-max-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/emtpy-delta-max-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/filter-fit-plot-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/filter-fit-plot-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/filter-fit-plot1-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/filter-fit-plot1-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-15-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-15-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-17-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-17-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-19-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-19-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-20-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-20-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-25-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-25-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-26-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-26-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-41-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-41-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-42-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-42-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-43-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-43-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-44-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-44-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-45-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-45-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-47-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-47-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-48-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-48-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-49-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/unnamed-chunk-49-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/cus-ac-plot-leg-cls-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/cus-ac-plot-leg-cls-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/cus-dc-plot-leg-cls-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/cus-dc-plot-leg-cls-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/empty-delta-max-rev-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/empty-delta-max-rev-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/filter-fit-plot1-rev-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/filter-fit-plot1-rev-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/leaf-delta-max-rev-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/leaf-delta-max-rev-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/racir-steady-start-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/racir-steady-start-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/cus-ac-plot-leg-cls-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/cus-ac-plot-leg-cls-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/cus-dc-plot-leg-cls-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/cus-dc-plot-leg-cls-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/empty-delta-max-rev-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/empty-delta-max-rev-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/leaf-delta-max-rev-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/leaf-delta-max-rev-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/racir-steady-start-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/racir-steady-start-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/filter-fit-plot1-rev-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/filter-fit-plot1-rev-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/default-moulation-plot-ac-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/default-moulation-plot-ac-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-html/default-moulation-plot-dc-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-html/default-moulation-plot-dc-1.png -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/default-moulation-plot-ac-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/default-moulation-plot-ac-1.pdf -------------------------------------------------------------------------------- /_bookdown_files/bookdown_files/figure-latex/default-moulation-plot-dc-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhujiedong/photoanalysis/HEAD/_bookdown_files/bookdown_files/figure-latex/default-moulation-plot-dc-1.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 使用 R 分析 LI-6400 与 LI-6800 数据。 2 | 3 | 主要关于 LI–6400 以及 LI-6800 光响应曲线,二氧化碳响应曲线以及荧光数据的分析,个人打发时间作品,欢迎各位大神补充纠错,只要不用于商业用途,随便使用. 4 | 备用网址: 5 | https://bookdown.org/zhujiedong/photoanalysis/docs/ 6 | http://zhu_jie_dong.gitee.io/photoanalysis/ 7 | -------------------------------------------------------------------------------- /docs/libs/anchor-sections-1.0/anchor-sections.css: -------------------------------------------------------------------------------- 1 | /* Styles for section anchors */ 2 | a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} 3 | a.anchor-section::before {content: '#';} 4 | .hasAnchor:hover a.anchor-section {visibility: visible;} 5 | -------------------------------------------------------------------------------- /photoanalysis.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: No 4 | SaveWorkspace: No 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: Sweave 13 | LaTeX: XeLaTeX 14 | 15 | BuildType: Website 16 | -------------------------------------------------------------------------------- /docs/libs/anchor-sections-1.0.1/anchor-sections.css: -------------------------------------------------------------------------------- 1 | /* Styles for section anchors */ 2 | a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} 3 | a.anchor-section::before {content: '#';} 4 | .hasAnchor:hover a.anchor-section {visibility: visible;} 5 | ul > li > .anchor-section {display: none;} 6 | -------------------------------------------------------------------------------- /_bookdown.yml: -------------------------------------------------------------------------------- 1 | book_filename: bookdown 2 | edit: https://github.com/zhujiedong/photoanalysis/blob/master/02-fvcb.Rmd 3 | clean: [photoR.bib, bookdown.bbl] 4 | delete_merged_file: true 5 | language: 6 | label: 7 | fig: "图 " 8 | tab: "表 " 9 | ui: 10 | edit: "编辑" 11 | chapter_name: ["第 ", " 章"] 12 | output_dir: "docs" 13 | -------------------------------------------------------------------------------- /docs/libs/gitbook-2.6.7/css/plugin-clipboard.css: -------------------------------------------------------------------------------- 1 | div.sourceCode { 2 | position: relative; 3 | } 4 | 5 | .copy-to-clipboard-button { 6 | position: absolute; 7 | right: 0; 8 | top: 0; 9 | visibility: hidden; 10 | } 11 | 12 | .copy-to-clipboard-button:focus { 13 | outline: 0; 14 | } 15 | 16 | div.sourceCode:hover > .copy-to-clipboard-button { 17 | visibility: visible; 18 | } 19 | -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | p.caption { 2 | color: #777; 3 | margin-top: 10px; 4 | } 5 | p code { 6 | white-space: inherit; 7 | } 8 | pre { 9 | word-break: normal; 10 | word-wrap: normal; 11 | } 12 | pre code { 13 | white-space: inherit; 14 | } 15 | p.flushright { 16 | text-align: right; 17 | } 18 | blockquote > p:last-child { 19 | text-align: right; 20 | } 21 | blockquote > p:first-child { 22 | text-align: inherit; 23 | } 24 | -------------------------------------------------------------------------------- /docs/css/style.css: -------------------------------------------------------------------------------- 1 | p.caption { 2 | color: #777; 3 | margin-top: 10px; 4 | } 5 | p code { 6 | white-space: inherit; 7 | } 8 | pre { 9 | word-break: normal; 10 | word-wrap: normal; 11 | } 12 | pre code { 13 | white-space: inherit; 14 | } 15 | p.flushright { 16 | text-align: right; 17 | } 18 | blockquote > p:last-child { 19 | text-align: right; 20 | } 21 | blockquote > p:first-child { 22 | text-align: inherit; 23 | } 24 | -------------------------------------------------------------------------------- /data/RAScomps.csv: -------------------------------------------------------------------------------- 1 | "","Deactivation2","GammaCc","GammaCi","GammastarCc","GammastarCi" 2 | "X.Intercept.","None","58.4287374300842","58.8037203761065","44.5273955550797","42.5254468841089" 3 | "X.Intercept..1","Low","61.2838538707617","61.4240821030711","44.3621577678509","42.3599170997833" 4 | "X.Intercept..2","Medium","73.5763524955192","71.5511059892193","43.6507383513502","41.7476679459594" 5 | "X.Intercept..3","High","91.2284567572355","83.3081845226362","42.6291356571194","41.0740678829679" 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # R for travis: see documentation at https://docs.travis-ci.com/user/languages/r 2 | 3 | language: R 4 | #sudo: false 5 | 6 | install: 7 | - R -e "0" --args --bootstrap-packrat 8 | - R -e "packrat::restore(restart = FALSE)" 9 | 10 | cache: 11 | directories: 12 | - $TRAVIS_BUILD_DIR/packrat/src 13 | - $TRAVIS_BUILD_DIR/packrat/lib 14 | packages: true 15 | 16 | script: 17 | - Rscript -e 'bookdown::render_book("index.Rmd", "bookdown::pdf_book")' 18 | - Rscript -e 'bookdown::render_book("index.Rmd", "bookdown::gitbook")' -------------------------------------------------------------------------------- /latex/before_body.tex: -------------------------------------------------------------------------------- 1 | % you may need to leave a few empty pages before the dedication page 2 | 3 | %\cleardoublepage\newpage\thispagestyle{empty}\null 4 | %\cleardoublepage\newpage\thispagestyle{empty}\null 5 | %\cleardoublepage\newpage 6 | %\begin{titlepage} 7 | 8 | %\incgraph[documentpaper, 9 | % overlay={\node[red] at (page.center) {\Huge Picture sized to paper};}] 10 | % [width=\paperwidth,height=\paperheight]{coverpage.png} 11 | 12 | %\end{titlepage} 13 | 14 | \thispagestyle{empty} 15 | 16 | \setlength{\abovedisplayskip}{-5pt} 17 | \setlength{\abovedisplayshortskip}{-5pt} 18 | -------------------------------------------------------------------------------- /docs/libs/header-attrs-2.11/header-attrs.js: -------------------------------------------------------------------------------- 1 | // Pandoc 2.9 adds attributes on both header and div. We remove the former (to 2 | // be compatible with the behavior of Pandoc < 2.8). 3 | document.addEventListener('DOMContentLoaded', function(e) { 4 | var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); 5 | var i, h, a; 6 | for (i = 0; i < hs.length; i++) { 7 | h = hs[i]; 8 | if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 9 | a = h.attributes; 10 | while (a.length > 0) h.removeAttribute(a[0].name); 11 | } 12 | }); 13 | -------------------------------------------------------------------------------- /docs/libs/header-attrs-2.3/header-attrs.js: -------------------------------------------------------------------------------- 1 | // Pandoc 2.9 adds attributes on both header and div. We remove the former (to 2 | // be compatible with the behavior of Pandoc < 2.8). 3 | document.addEventListener('DOMContentLoaded', function(e) { 4 | var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); 5 | var i, h, a; 6 | for (i = 0; i < hs.length; i++) { 7 | h = hs[i]; 8 | if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 9 | a = h.attributes; 10 | while (a.length > 0) h.removeAttribute(a[0].name); 11 | } 12 | }); 13 | -------------------------------------------------------------------------------- /docs/libs/header-attrs-2.5/header-attrs.js: -------------------------------------------------------------------------------- 1 | // Pandoc 2.9 adds attributes on both header and div. We remove the former (to 2 | // be compatible with the behavior of Pandoc < 2.8). 3 | document.addEventListener('DOMContentLoaded', function(e) { 4 | var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); 5 | var i, h, a; 6 | for (i = 0; i < hs.length; i++) { 7 | h = hs[i]; 8 | if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 9 | a = h.attributes; 10 | while (a.length > 0) h.removeAttribute(a[0].name); 11 | } 12 | }); 13 | -------------------------------------------------------------------------------- /docs/libs/header-attrs-2.7/header-attrs.js: -------------------------------------------------------------------------------- 1 | // Pandoc 2.9 adds attributes on both header and div. We remove the former (to 2 | // be compatible with the behavior of Pandoc < 2.8). 3 | document.addEventListener('DOMContentLoaded', function(e) { 4 | var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); 5 | var i, h, a; 6 | for (i = 0; i < hs.length; i++) { 7 | h = hs[i]; 8 | if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 9 | a = h.attributes; 10 | while (a.length > 0) h.removeAttribute(a[0].name); 11 | } 12 | }); 13 | -------------------------------------------------------------------------------- /docs/libs/header-attrs-2.9.7/header-attrs.js: -------------------------------------------------------------------------------- 1 | // Pandoc 2.9 adds attributes on both header and div. We remove the former (to 2 | // be compatible with the behavior of Pandoc < 2.8). 3 | document.addEventListener('DOMContentLoaded', function(e) { 4 | var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); 5 | var i, h, a; 6 | for (i = 0; i < hs.length; i++) { 7 | h = hs[i]; 8 | if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 9 | a = h.attributes; 10 | while (a.length > 0) h.removeAttribute(a[0].name); 11 | } 12 | }); 13 | -------------------------------------------------------------------------------- /docs/libs/gitbook-2.6.7/css/plugin-table.css: -------------------------------------------------------------------------------- 1 | .book .book-body .page-wrapper .page-inner section.normal table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}.book .book-body .page-wrapper .page-inner section.normal table td,.book .book-body .page-wrapper .page-inner section.normal table th{padding:6px 13px;border:1px solid #ddd}.book .book-body .page-wrapper .page-inner section.normal table tr{background-color:#fff;border-top:1px solid #ccc}.book .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n){background-color:#f8f8f8}.book .book-body .page-wrapper .page-inner section.normal table th{font-weight:700} 2 | -------------------------------------------------------------------------------- /data/PRcomps.csv: -------------------------------------------------------------------------------- 1 | "","Delay2","GammaCc","GammaCi","GammastarCc","GammastarCi" 2 | "X.Intercept.","0","58.4287374300842","58.8037203761065","44.5273955550797","42.5254468841089" 3 | "X.Intercept..1","15","57.5833124258585","57.8133060384198","43.6505981058158","41.4987602654643" 4 | "X.Intercept..2","30","56.7661201436009","56.856049567741","42.8036751186067","40.507106436284" 5 | "X.Intercept..3","60","55.2113278511657","55.034972373762","41.193913884949","38.6223708122992" 6 | "X.Intercept..4","120","52.3881005617639","51.7287726510445","38.2761458128698","35.2064897918501" 7 | "X.Intercept..5","300","52.3881005617639","51.7287726510445","31.3861017268502","27.1407461618854" 8 | -------------------------------------------------------------------------------- /docs/libs/accessible-code-block-0.0.1/empty-anchor.js: -------------------------------------------------------------------------------- 1 | // Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> 2 | // v0.0.1 3 | // Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. 4 | 5 | document.addEventListener('DOMContentLoaded', function() { 6 | const codeList = document.getElementsByClassName("sourceCode"); 7 | for (var i = 0; i < codeList.length; i++) { 8 | var linkList = codeList[i].getElementsByTagName('a'); 9 | for (var j = 0; j < linkList.length; j++) { 10 | if (linkList[j].innerHTML === "") { 11 | linkList[j].setAttribute('aria-hidden', 'true'); 12 | } 13 | } 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /01-1-startR.Rmd: -------------------------------------------------------------------------------- 1 | \mainmatter 2 | 3 | # R 软件与 Rstudio {#intro} 4 | 5 | ## R 软件 {#rsoft} 6 | 7 | R语言的官方网站是 [R](http://www.r-project.org) ,与R语言有关的网站还有CRAN(镜像),其主站网址是: [CRAN](http://www.cran.r-project.org)。 8 | 9 | ## Rstudio {#rstudiosoft} 10 | 11 | 尽管R的功能十分强大,但是其作为一个命令行工具 ^[实际上在Windows系统下安装的时候提供一个十分简陋的GUI。],在实际使用中尤为不便,因此,一款集成的开发环境十分有必要。[Rstudio](https://www.rstudio.com/products/RStudio/)是一款专门针对R开发的一个集成环境,同时也支持其他多种语言,用户界面十分友好,支持代码高亮,拼写提示,作图展示等功能,因此我们推荐使用Rstudio对我们的数据进行分析。 12 | 13 | R 软件和 Rstudio 的安装十分方便,我们按照各自系统的安装方式安装即可,安装后界面及各区功能如下: 14 | 15 | ```{r fig.width = 2, fig.asp = 0.7, echo = FALSE, dpi = 300, fig.cap = "Rstudio 界面及功能"} 16 | knitr::include_graphics("images/rstudio.png") 17 | ``` 18 | 19 | 本文的主要内容并非介绍这些软件的功能,因此,关于软件的操作部分请仔细阅读相关资料,网络上有大量的免费资源及教程,有需要的同学可自行搜索。 20 | 21 | >注:R 与 Rstudio 均非我公司产品,而且均免费或者有免费版本,因此请勿邮件或电话索要此两款软件。 22 | 23 | \cleardoublepage -------------------------------------------------------------------------------- /docs/libs/gitbook-2.6.7/css/plugin-search.css: -------------------------------------------------------------------------------- 1 | .book .book-summary .book-search { 2 | padding: 6px; 3 | background: transparent; 4 | position: absolute; 5 | top: -50px; 6 | left: 0px; 7 | right: 0px; 8 | transition: top 0.5s ease; 9 | } 10 | .book .book-summary .book-search input, 11 | .book .book-summary .book-search input:focus, 12 | .book .book-summary .book-search input:hover { 13 | width: 100%; 14 | background: transparent; 15 | border: 1px solid #ccc; 16 | box-shadow: none; 17 | outline: none; 18 | line-height: 22px; 19 | padding: 7px 4px; 20 | color: inherit; 21 | box-sizing: border-box; 22 | } 23 | .book.with-search .book-summary .book-search { 24 | top: 0px; 25 | } 26 | .book.with-search .book-summary ul.summary { 27 | top: 50px; 28 | } 29 | .with-search .summary li[data-level] a[href*=".html#"] { 30 | display: none; 31 | } 32 | -------------------------------------------------------------------------------- /index.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "使用 R 语言分析 LI-6400 和 LI-6800 光合仪的数据" 3 | author: "祝介东

北京力高泰科技有限公司" 4 | affiliation: "北京力高泰科技有限公司" 5 | date: "`r Sys.Date()`" 6 | documentclass: krantz 7 | bibliography: photoR.bib 8 | biblio-style: apalike 9 | link-citations: yes 10 | colorlinks: yes 11 | lot: yes 12 | lof: yes 13 | site: bookdown::bookdown_site 14 | description: "使用 R 语言分析 LI-6400XT 与 LI-6800 数据" 15 | github-repo: zhujiedong/photoanalysis 16 | graphics: yes 17 | cover-image: images/coverpage.png 18 | --- 19 | 20 | # 欢迎 {- #welcome} 21 | 22 | ------ 23 | 24 | ```{asis, echo=identical(knitr:::pandoc_to(), 'html')} 25 | **Note**: 本文内容仅为我 github 中相关repo (photoanalysis) 的在线预览版本,并不保证及时更新。 26 | 27 |

28 | ``` 29 | 30 | 本文纯属个人打发出差漫漫长夜的作品,并非正式资料,并未经过校对等流程,但所用代码皆经过本人和同事的验证,所引文献均真实存在。希望对不熟悉相关知识的童鞋们有所帮助。 31 | -------------------------------------------------------------------------------- /12-3-delete-autoracir-conifer.txt: -------------------------------------------------------------------------------- 1 | ## LI-6800 RACiR\texttrademark 簇状叶的测量与拟合 {#racir-conifer} 2 | 3 | @Coursolle12019 测量了簇状叶黑云杉和香脂冷杉两种簇状叶植物的 RACiR,其中的试验方法和结论值得在测量时借鉴,测量方法上: 4 | 5 | - 簇状叶室体积远大于荧光叶室和其他叶室,使用的 $CO_2$ 的变化为: 15 min 内从 20 ppm 到 1520 ppm 的变化,即变化的速率为 $100 ppm \cdot min^{-1}$。但也测试了 200 - 800 ppm的部分曲线。 6 | 7 | - 拟合使用了测量的 Rd,测量方法为:控制 reference 气路在 420 ppm 的 $CO_2$ 和 22 $mmol \cdot mol^{-1}$ 的 H~2~O 浓度,控制温度为 25 C,诱导后测量 Rd。 8 | 9 | 得到了一些有帮助的结论: 10 | 11 | - 使用更大的叶室测量 RACiR 是可行的(36 $cm^2$),叶室环境的控制需要通过预实验来确定。 12 | 13 | - 该实验使用的 ACi 曲线测量时间在 30 到 36 min,而 RACiR 使用的**完整的二氧化碳的浓度范围**时,曲线耗时最大的时间接近 22 min。但使用 200 - 800 ppm 范围的变化,则时间可以下降 50%,**这些部分范围的测量则可以应用于植物胁迫和表型平台的研究**。 14 | 15 | - 实验结果证明只要 match 的调整值保持不变即无需进行空叶室校准(也就是无需匹配的意思,实际的时间间隔取决于仪器的状态),但最新的 range match 功能可有效的增加空叶室校准的时间间隔(新功能,作者试验时尚未推出该功能)。 16 | 17 | - 作者建议最好测量暗呼吸的速率,以获得最佳的 Vcmax 和 Jmax 计算结果。如果有第二台光合仪来测量则可有效的缩短测量时间。 18 | 19 | **该部分内容请使用 $A_{dyn}$ 来测量** 20 | 21 | 22 | \cleardoublepage -------------------------------------------------------------------------------- /04-optimize.Rmd: -------------------------------------------------------------------------------- 1 | # 光合最优气孔导度耦合模型 {#stomotal_couple} 2 | 3 | @Cowan1977Stomatal 关于最优气孔导度的描述概括如下: 4 | 最优气孔行为理论认为气孔的最优化行为就是在某一时间段内, 最大化光合碳固定的同时最小化蒸腾作用,也就是说,对于一定的水分消耗,最大化光合碳固定。即使得: 5 | 6 | \begin{equation} 7 | A - \lambda E 8 | (\#eq:weff) 9 | \end{equation} 10 | 11 | 有最大化,其中 $\lambda$ 是临界水分利用效率,也即植物损耗单位水分的 C 生产量,单位一般为 $mol \: CO_2 \cdot mol^{-1} H_2O$,可通过光合速率和蒸腾速率计算。 12 | 13 | ## `FARAO` 函数 {#farao} 14 | 15 | `FARAO` 函数用于找到最大化 $A - \lambda E$ 的** Ci **值。 16 | 17 | ```{r, eval=FALSE} 18 | FARAO(lambda = 0.002, Ca = 400, VPD = 1, 19 | photo = c("BOTH", "VCMAX","JMAX"), 20 | energybalance = FALSE, C4 = FALSE, 21 | Tair = 25, Wind = 2, Wleaf = 0.02, 22 | StomatalRatio = 1, LeafAbs = 0.86, ...) 23 | 24 | FARAO2(lambda = 0.002, Ca = 400, 25 | energybalance = FALSE, ...) 26 | ``` 27 | 28 | 其参数同 `fitaci` 和 `Photosyn`,在此不多做介绍,可参考[@Cowan1977Stomatal, @Buckley2014Is, @Medlyn2011Reconciling]。 29 | 30 | \cleardoublepage 31 | -------------------------------------------------------------------------------- /_output.yml: -------------------------------------------------------------------------------- 1 | bookdown::gitbook: 2 | css: css/style.css 3 | config: 4 | toc: 5 | collapse: section 6 | before: | 7 |
  • R 软件与光合数据分析
  • 8 | after: | 9 |
  • 由 bookdown 驱动
  • 10 | download: [pdf] 11 | edit: https://github.com/zhujiedong/photoanalysis/blob/master/%s 12 | sharing: 13 | github: yes 14 | facebook: no 15 | bookdown::pdf_book: 16 | includes: 17 | in_header: latex/preamble.tex 18 | before_body: latex/before_body.tex 19 | after_body: latex/after_body.tex 20 | keep_tex: yes 21 | dev: "cairo_pdf" 22 | latex_engine: xelatex 23 | citation_package: natbib 24 | template: null 25 | pandoc_args: --top-level-division=chapter 26 | toc_depth: 3 27 | toc_unnumbered: no 28 | toc_appendix: yes 29 | quote_footer: ["\\VA{", "}{}"] 30 | bookdown::epub_book: 31 | stylesheet: css/style.css 32 | 33 | -------------------------------------------------------------------------------- /06-units.Rmd: -------------------------------------------------------------------------------- 1 | # RHtoVPD 函数 {#rhtovpd} 2 | 3 | 该函数为一系列的工具,用于温度、湿度不同单位之间的换算 @Jones1993Plants : 4 | 5 | ```{r, eval=FALSE} 6 | # RH 转为 VPD 7 | RHtoVPD(RH, TdegC, Pa = 101) 8 | 9 | # VPD 转为 RH 10 | VPDtoRH(VPD, TdegC, Pa = 101) 11 | 12 | # 饱和水气压计算 13 | esat(TdegC, Pa = 101) 14 | 15 | # 露点温度转换为VPD 16 | DewtoVPD(Tdew, TdegC, Pa = 101) 17 | 18 | # 基于叶温的 VPD 转换为基于空气温度的 VPD 19 | VPDleafToAir(VPD, Tleaf, Tair, Pa = 101) 20 | 21 | # 基于空气温度的 VPD 转换为基于叶温的 VPD 22 | VPDairToLeaf(VPD, Tair, Tleaf, Pa = 101) 23 | 24 | # 基于叶温的相对湿度转换为基于空气温度的相对湿度 25 | RHleafToAir(RH, Tleaf, Tair, Pa = 101) 26 | 27 | # 基于空气温度的相对湿度转换为基于叶温的相对湿度 28 | RHairToLeaf(RH, Tair, Tleaf, Pa = 101) 29 | ``` 30 | 31 | 注意事项及单位: 32 | 33 | 部分参数的转换需要准确的大气压用于计算,因此,有大气压选项的参数必须填入实际值。 34 | 35 | RH:相对湿度 (\%) 。 36 | 37 | TdegC:温度 (\textcelsius) (叶片或温度)。 38 | 39 | Pa:大气压 (kPa) 40 | 41 | VPD:水气压亏缺 (kPa)。 42 | 43 | Tdew: 露点温度(\textcelsius) 。 44 | 45 | Tleaf:叶温(\textcelsius) 。 46 | 47 | Tair:空气温度(\textcelsius) 。 48 | 49 | \cleardoublepage 50 | -------------------------------------------------------------------------------- /docs/libs/gitbook-2.6.7/js/plugin-clipboard.js: -------------------------------------------------------------------------------- 1 | gitbook.require(["gitbook", "jQuery"], function(gitbook, $) { 2 | 3 | var copyButton = ''; 4 | var clipboard; 5 | 6 | gitbook.events.bind("page.change", function() { 7 | 8 | if (!ClipboardJS.isSupported()) return; 9 | 10 | // the page.change event is thrown twice: before and after the page changes 11 | if (clipboard) { 12 | // clipboard is already defined 13 | // we can deduct that we are before page changes 14 | clipboard.destroy(); // destroy the previous events listeners 15 | clipboard = undefined; // reset the clipboard object 16 | return; 17 | } 18 | 19 | $(copyButton).prependTo("div.sourceCode"); 20 | 21 | clipboard = new ClipboardJS(".copy-to-clipboard-button", { 22 | text: function(trigger) { 23 | return trigger.parentNode.textContent; 24 | } 25 | }); 26 | 27 | }); 28 | 29 | }); 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Yihui Xie 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages.bib: -------------------------------------------------------------------------------- 1 | @Manual{R-base, 2 | title = {R: A Language and Environment for Statistical Computing}, 3 | author = {{R Core Team}}, 4 | organization = {R Foundation for Statistical Computing}, 5 | address = {Vienna, Austria}, 6 | year = {2017}, 7 | url = {https://www.R-project.org/}, 8 | } 9 | @Manual{R-bookdown, 10 | title = {bookdown: Authoring Books and Technical Documents with R Markdown}, 11 | author = {Yihui Xie}, 12 | year = {2017}, 13 | note = {R package version 0.5.10}, 14 | url = {https://github.com/rstudio/bookdown}, 15 | } 16 | @Manual{R-knitr, 17 | title = {knitr: A General-Purpose Package for Dynamic Report Generation in R}, 18 | author = {Yihui Xie}, 19 | year = {2017}, 20 | note = {R package version 1.18}, 21 | url = {https://yihui.name/knitr/}, 22 | } 23 | @Manual{R-rmarkdown, 24 | title = {rmarkdown: Dynamic Documents for R}, 25 | author = {JJ Allaire and Yihui Xie and Jonathan McPherson and Javier Luraschi and Kevin Ushey and Aron Atkins and Hadley Wickham and Joe Cheng and Winston Chang}, 26 | note = {R package version 1.8.3}, 27 | url = {http://rmarkdown.rstudio.com}, 28 | year = {2017}, 29 | } 30 | -------------------------------------------------------------------------------- /docs/libs/anchor-sections-1.0/anchor-sections.js: -------------------------------------------------------------------------------- 1 | // Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. 2 | document.addEventListener('DOMContentLoaded', function() { 3 | // Do nothing if AnchorJS is used 4 | if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { 5 | return; 6 | } 7 | 8 | const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); 9 | 10 | // Do nothing if sections are already anchored 11 | if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { 12 | return null; 13 | } 14 | 15 | // Use section id when pandoc runs with --section-divs 16 | const section_id = function(x) { 17 | return ((x.classList.contains('section') || (x.tagName === 'SECTION')) 18 | ? x.id : ''); 19 | }; 20 | 21 | // Add anchors 22 | h.forEach(function(x) { 23 | const id = x.id || section_id(x.parentElement); 24 | if (id === '') { 25 | return null; 26 | } 27 | let anchor = document.createElement('a'); 28 | anchor.href = '#' + id; 29 | anchor.classList = ['anchor-section']; 30 | x.classList.add('hasAnchor'); 31 | x.appendChild(anchor); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /data/DiffusionLimits.csv: -------------------------------------------------------------------------------- 1 | "","Scenario","Rates","Conductances","TotalRes" 2 | "Counter","Boundary Layer Conductance","57.1493939574751","0.25","7.5" 3 | "Counter.1","Boundary Layer Conductance","64.522239461912","0.5","5.5" 4 | "Counter.2","Boundary Layer Conductance","68.9712299728077","1","4.5" 5 | "Counter.3","Boundary Layer Conductance","71.4340185663793","2","4" 6 | "Counter.4","Boundary Layer Conductance","72.7325667866589","4","3.75" 7 | "Counter.5","Stomatal Conductance","19.4216526694884","0.025","41.5" 8 | "Counter.6","Stomatal Conductance","31.7518157395349","0.05","21.5" 9 | "Counter.7","Stomatal Conductance","46.518268612883","0.1","11.5" 10 | "Counter.8","Stomatal Conductance","60.6124332911241","0.2","6.5" 11 | "Counter.9","Stomatal Conductance","71.4340185663793","0.4","4" 12 | "Counter.10","Mesophyll Conductance","47.6257056550417","0.125","11" 13 | "Counter.11","Mesophyll Conductance","58.8299945713832","0.25","7" 14 | "Counter.12","Mesophyll Conductance","66.6725980698899","0.5","5" 15 | "Counter.13","Mesophyll Conductance","71.4340185663793","1","4" 16 | "Counter.14","Mesophyll Conductance","74.0791998767502","2","3.5" 17 | "Counter.15","Mesophyll Conductance","75.476639073463","4","3.25" 18 | -------------------------------------------------------------------------------- /docs/libs/anchor-sections-1.0.1/anchor-sections.js: -------------------------------------------------------------------------------- 1 | // Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. 2 | document.addEventListener('DOMContentLoaded', function() { 3 | // Do nothing if AnchorJS is used 4 | if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { 5 | return; 6 | } 7 | 8 | const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); 9 | 10 | // Do nothing if sections are already anchored 11 | if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { 12 | return null; 13 | } 14 | 15 | // Use section id when pandoc runs with --section-divs 16 | const section_id = function(x) { 17 | return ((x.classList.contains('section') || (x.tagName === 'SECTION')) 18 | ? x.id : ''); 19 | }; 20 | 21 | // Add anchors 22 | h.forEach(function(x) { 23 | const id = x.id || section_id(x.parentElement); 24 | if (id === '' || x.matches(':empty')) { 25 | return null; 26 | } 27 | let anchor = document.createElement('a'); 28 | anchor.href = '#' + id; 29 | anchor.classList = ['anchor-section']; 30 | x.classList.add('hasAnchor'); 31 | x.appendChild(anchor); 32 | }); 33 | }); 34 | -------------------------------------------------------------------------------- /rsconnect/documents/01-2-batch-data.Rmd/bookdown.org/zhujiedong/01-2-batch-data.dcf: -------------------------------------------------------------------------------- 1 | name: 01-2-batch-data 2 | title: 01-2-batch-data 3 | username: zhujiedong 4 | account: zhujiedong 5 | server: bookdown.org 6 | hostUrl: https://bookdown.org/__api__ 7 | appId: 9114 8 | bundleId: 60113 9 | url: https://bookdown.org/zhujiedong/01-2-batch-data/ 10 | when: 1636645334.42771 11 | lastSyncTime: 1636645334.42771 12 | asMultiple: FALSE 13 | asStatic: FALSE 14 | ignoredFiles: .Rbuildignore|.travis.yml|_bookdown.yml|_output.yml|00-front.Rmd|01-1-startR.Rmd|01-2-batch-data.Rmd|02-1-fvcb-theory.Rmd|02-2-plantecophys-intr.Rmd|02-3-plantecophys-C3.Rmd|02-4-plantecophys-C4.Rmd|03-stomatal.Rmd|04-optimize.Rmd|05-coupled.Rmd|06-units.Rmd|07-rec.Rmd|08-nonrec.Rmd|09-exp.Rmd|10-modified-rec.Rmd|11-start-values.Rmd|12-1-plantecophys-6800.Rmd|12-2-autoracir.Rmd|12-3-autoracir-conifer.Rmd|12-4-man-racir.Rmd|12-5-multiracir.Rmd|12-6-jiptest.Rmd|13-1-big-leaf.Rmd|13-2-pca.Rmd|14-reference.Rmd|bookdown.aux|bookdown.idx|bookdown.lof|bookdown.log|bookdown.lot|bookdown.out|bookdown.toc|css/style.css|DESCRIPTION|index.Rmd|krantz.cls|latex/after_body.tex|latex/before_body.tex|latex/preamble.tex|LICENSE|packages.bib|photoR.bib|README.md|_bookdown_files|data|images 15 | -------------------------------------------------------------------------------- /00-front.Rmd: -------------------------------------------------------------------------------- 1 | \frontmatter 2 | 3 | # 前言 {- #frontmatter} 4 | 5 | 本文内容均来自个人对相关材料的理解,事实上,直到这本书的内容定型时,我的代码水平还处在初级水平,因此,如果你刚接触 R,不要把这本书当作规范,因为成型后我几乎没怎么改过,一是懒,二是忙。文中内容**并未经过权威认证,如有异议,请参考 R 软件及相关软件包的使用手册或相关模型的文献**。本文所使用代码均只做示例代码使用,在做实际分析时,请结合自己的实验数据及模型使用条件做相应的调整。本文内容仅针对 6 | LI-6800 与 LI-6400XT 光合仪数据,尤其是 RACiR\texttrademark 部分,仅针对 LI-6800 7 | 进行分析,且目前市面上仅 LI-6800 光合仪可完成此项数据的测量。如您有 LI-6400XT 或 LI-6800 使用操作相关方面的问题请发送至: 8 | 9 | [zhujiedong@ecotek.com.cn](zhujiedong@ecotek.com.cn) 10 | 11 | 如有与本文数据分析相关的内容请发送至我个人邮箱(本文是业余爱好,内容虽与公司仪器相关,但并不是我领薪水的工作内容): 12 | 13 | [zhujiedong@yeah.net](zhujiedong@yeah.net) 14 | 15 | 以便我们对相关内容做出修正。 16 | 17 | 当然,如果您有 github 帐号,优先欢迎在 github 提交: 18 | 19 | [github地址](https://github.com/zhujiedong/photoanalysis) 20 | 21 | gitee 也有同步版本 22 | 23 | [gitee 地址](http://zhu_jie_dong.gitee.io/photoanalysis/) 24 | 25 | 如有其他仪器问题或者仪器购买需求,请使用下面方式与我们联系: 26 | 27 | * 北京力高泰科技有限公司 28 | 29 | * 网址:[http://www.ecotek.com.cn](http://www.ecotek.com.cn) 30 | 31 | * 电话:010-64093960/66001653 32 | 33 | * 电子邮件:[info@ecotek.com.cn](info@ecotek.com.cn) 34 | 35 | * 地址:北京市西城区西直门南大街2号成铭大厦A座22F 36 | 37 | 38 | # 版权 {- #copyright} 39 | 40 | **本文旨在对广大 LI-6400XT 和 LI-6800 光合仪的用户提供一个数据分析的参考,本人或所在公司并未从中获取任何利益,内容错误疏漏之处,欢迎指正。本人保留一切权利,禁止一切将本文内容用于商业用途的行为,禁止商业公司使用。** 41 | 42 | 43 | **文中内容如对您有帮助,我很欣慰。但本人水平有限,错误与疏漏之处还请谅解,欢迎讨论,欢迎提出宝贵意见及建议。本人或单位其他售后人员仅有提供相关仪器操作或故障解决的义务,处理数据和分析数据并非我们的本职工作,如有相关需还请多参考本文内容或网上相关资料,不足之处还请谅解。** 44 | 45 | \cleardoublepage 46 | -------------------------------------------------------------------------------- /13-1-big-leaf.Rmd: -------------------------------------------------------------------------------- 1 | # 大叶模型 {#big-leaf} 2 | 3 | 题目中所提到的大叶模型,并非指用涡动数据来进行大尺度的直接测量后的大叶模型 [@knauerBigleafPackageCalculation2018],是指 @mejdovaPhotosyntheticParametersSedgegrass2021 使用 LI-6400 和 LI-3000C 的方式进行的个体叶片尺度的光合测量,外推到整个群落尺度的大叶模型,这也是一个比较新的测量方法,发表在 Scientific Reports。这里对其方法进行概述,因为所用方法是之前早都提过的基本方式。 4 | 5 | ## 叶片尺度测量 {#leaf-scale-meas} 6 | 7 | 文章中所使用的是 LI-6400,但毫无疑问,LI-6800 可以更好的胜任该工作,具体测量方法为: 8 | 9 | 1. 从 4 月中旬到 10 月,除 6 月因为洪水有中断外,每周进行一次光响应曲线的测量。 10 | 2. 为最小化几个优势种测量时样本之间的变异性,考虑了枝条的差异、枝条不同叶片之间的年龄、以及环境的随机效应的影响。测量选取的是一系列相邻的枝条或草丛。在特定的日期,每个植株选择两个枝条上的,在完全展开的成熟叶片中选择最 2-4 最年轻的叶片进行测量(2片或4片,由物种而定)。 11 | 3. 测量的不为距离叶片顶端约 3/4,选择的都是冠层顶部的叶片。 12 | 4. 测量过程是标准的光响应曲线的测量流程,不同的是在光强设置为 0 时,额外等待 4 min,用于测量暗呼吸速率。 13 | 5. 该实验测量的时间是欧洲中部时间的 7-11 点。 14 | 15 | ## 数据的处理 {#big-leaf-data} 16 | 17 | ### 单个测量数据的处理 {#single-data-big-leaf} 18 | 19 | 1. 单个测量的数据使用的是非线性拟合,选取的为非直角双曲线模型,使用了 `nls2` 作为非线性拟合的工具。 20 | 2. 暗呼吸速率的值是拟合模型曲线与纵坐标的交点。 21 | 3.不同物种、不同测量日期和不同生育期的参数各自拟合。 22 | 23 | ### 大叶模型的数据处理 {#big-leaf-data-MODEL} 24 | 25 | 1. 在不同季节,使用 LI-3100C 测量了不同物种的叶面积指数。 26 | 2. 计算单个植株的 LAI 占不同时期以及整个生长季 LAI 的比例,以此作为该植株拟合参数的权重。而整个大叶模型的参数则是对这些权重数据进行求和。然后将这些参数带入所用的非直角双曲线模型。 27 | 28 | ```{r, lai-big-leaf, echo = FALSE, fig.cap="根据 LAI 权重求和来计算大叶模型的参数", fig.align= 'center'} 29 | knitr::include_graphics("./images/weighted-parameter.png") 30 | ``` 31 | 32 | 光响应曲线的拟合可以参考 \@ref(nonrec-mod)。部分实验结果如下: 33 | 34 | ```{r, lai-big-leaf-model, echo = FALSE, fig.cap="假定不同物种组成下的模型结果", fig.align= 'center'} 35 | knitr::include_graphics("./images/big-leaf-model.png") 36 | ``` 37 | -------------------------------------------------------------------------------- /bookdown.lot: -------------------------------------------------------------------------------- 1 | \addvspace {10\p@ } 2 | \addvspace {10\p@ } 3 | \contentsline {table}{\numberline {2.1}{\ignorespaces LI-6400 批量整合数据\relax }}{4}{table.caption.7}% 4 | \addvspace {10\p@ } 5 | \contentsline {table}{\numberline {3.1}{\ignorespaces 推荐 LI-6400 整理后数据样式\relax }}{23}{table.3.1}% 6 | \contentsline {table}{\numberline {3.2}{\ignorespaces onepoint 使用的数据\relax }}{32}{table.caption.10}% 7 | \contentsline {table}{\numberline {3.3}{\ignorespaces onepoint 法计算的结果\relax }}{32}{table.caption.11}% 8 | \addvspace {10\p@ } 9 | \addvspace {10\p@ } 10 | \addvspace {10\p@ } 11 | \addvspace {10\p@ } 12 | \addvspace {10\p@ } 13 | \contentsline {table}{\numberline {8.1}{\ignorespaces 直角双曲线计算参数\relax }}{64}{table.caption.20}% 14 | \contentsline {table}{\numberline {8.2}{\ignorespaces 非直角双曲线计算参数\relax }}{68}{table.caption.22}% 15 | \contentsline {table}{\numberline {8.3}{\ignorespaces 指数模型计算参数\relax }}{72}{table.caption.24}% 16 | \contentsline {table}{\numberline {8.4}{\ignorespaces 直角双曲线修正模型计算参数\relax }}{75}{table.caption.26}% 17 | \addvspace {10\p@ } 18 | \addvspace {10\p@ } 19 | \contentsline {table}{\numberline {10.1}{\ignorespaces jiptest 批量导入数据后的样式\relax }}{210}{table.caption.54}% 20 | \contentsline {table}{\numberline {10.2}{\ignorespaces jiptest DC 数据批量导入数据后的样式\relax }}{211}{table.caption.55}% 21 | \contentsline {table}{\numberline {10.3}{\ignorespaces jiptest 输出的计算参数\relax }}{211}{table.10.3}% 22 | \contentsline {table}{\numberline {10.4}{\ignorespaces jiptest DC 数据输出的计算参数\relax }}{212}{table.10.4}% 23 | \addvspace {10\p@ } 24 | \addvspace {10\p@ } 25 | \addvspace {10\p@ } 26 | -------------------------------------------------------------------------------- /02-4-plantecophys-C4.Rmd: -------------------------------------------------------------------------------- 1 | ## C4 植物光合 {#c4} 2 | 3 | 之前的部分模型全部为关于 C3 植物的拟合,而 @Caemmerer2000Biochemical 的方法,则是针对 4 | C4 植物的 A-Ci 曲线的实现。 5 | 6 | ```{r, eval=FALSE} 7 | AciC4(Ci, PPFD = 1500, Tleaf = 25, VPMAX25 = 120, 8 | JMAX25 = 400, Vcmax = 60, Vpr = 80, 9 | alpha = 0, gbs = 0.003, O2 = 210, 10 | x = 0.4, THETA = 0.7, Q10 = 2.3, 11 | RD0 = 1, RTEMP = 25, TBELOW = 0, 12 | DAYRESP = 1, Q10F = 2, FRM = 0.5, ...) 13 | ``` 14 | 15 | **参数详解** 16 | 17 | * Ci:胞间二氧化碳浓度 ($\mu mol\cdot m^{-2}\cdot s^{-1}$)。 18 | * PPFD:光合光量子通量密度 ($\mu mol\cdot m^{-2}\cdot s^{-1}$)。 19 | * Tleaf:叶片温度 (\textcelsius)。 20 | * VPMAX25:PEP 羧化最大速率 ($\mu mol\cdot m^{-2}\cdot s^{-1}$)。 21 | * JMAX25:最大电子传递速率 (\textcelsius))。 22 | * Vcmax:最大羧化速率($\mu mol\cdot m^{-2}\cdot s^{-1}$)。 23 | * Vpr:PEP 再生($\mu mol\cdot m^{-2}\cdot s^{-1}$)。 24 | * alpha:维管束鞘细胞中 PSII 活性的比例。 25 | * gbs:维管束鞘导度 ($mol\cdot m^{-2}\cdot s^{-1}$)。 26 | * O2:叶肉细胞氧气浓度。 27 | * x:电子传递的分配因子。 28 | * THETA:曲角参数。 29 | * Q10:Michaelis-Menten 系数中依赖于温度的参数。 30 | * RD0:基温下的呼吸 ($mol\cdot m^{-2}\cdot s^{-1}$)。 31 | * RTEMP:呼吸的基温(\textcelsius) 32 | * TBELOW:此温度以下呼吸为0。 33 | * DAYRESP:明呼吸和暗呼吸的比值。 34 | * Q10F:呼吸依赖于温度的参数。 35 | * FRM:明呼吸中为叶肉呼吸的比例。 36 | 37 | 以上参数均来自 @Caemmerer2000Biochemical,括号中的参数值均为默认值,具体应用时请按照实际情况修改。 38 | 39 | ### C4 植物光合速率的计算 {#c4_sim} 40 | 41 | ```{r, fig.cap="C4 植物 A-Ci 作图"} 42 | # 模拟 C4 植物的 Ci 值,计算光合速率并作图 43 | library(plantecophys) 44 | aci <- AciC4(Ci=seq(5,600, length=101)) 45 | with(aci, plot(Ci, ALEAF, type='l', ylim=c(0,max(ALEAF)))) 46 | ``` 47 | 48 | \cleardoublepage 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /latex/preamble.tex: -------------------------------------------------------------------------------- 1 | \usepackage{booktabs} 2 | \usepackage{ctex} 3 | \usepackage{longtable} 4 | %\usepackage{incgraph} 5 | \usepackage[bf,singlelinecheck=off]{caption} 6 | %\usepackage{geometry} % 用于页面设置 7 | %\geometry{a4paper, scale=0.8} % 设置为A4纸,边距0.8 8 | %\usepackage{graphics} % 与图形有关 9 | 10 | \usepackage{framed,color} 11 | \definecolor{shadecolor}{RGB}{248,248,248} 12 | 13 | \renewcommand{\textfraction}{0.05} 14 | \renewcommand{\topfraction}{0.8} 15 | \renewcommand{\bottomfraction}{0.8} 16 | \renewcommand{\floatpagefraction}{0.75} 17 | 18 | \renewenvironment{quote}{\begin{VF}}{\end{VF}} 19 | \let\oldhref\href 20 | \renewcommand{\href}[2]{#2\footnote{\url{#1}}} 21 | 22 | \makeatletter 23 | \newenvironment{kframe}{% 24 | \medskip{} 25 | \setlength{\fboxsep}{.8em} 26 | \def\at@end@of@kframe{}% 27 | \ifinner\ifhmode% 28 | \def\at@end@of@kframe{\end{minipage}}% 29 | \begin{minipage}{\columnwidth}% 30 | \fi\fi% 31 | \def\FrameCommand##1{\hskip\@totalleftmargin \hskip-\fboxsep 32 | \colorbox{shadecolor}{##1}\hskip-\fboxsep 33 | % There is no \\@totalrightmargin, so: 34 | \hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}% 35 | \MakeFramed {\advance\hsize-\width 36 | \@totalleftmargin\z@ \linewidth\hsize 37 | \@setminipage}}% 38 | {\par\unskip\endMakeFramed% 39 | \at@end@of@kframe} 40 | \makeatother 41 | 42 | \renewenvironment{Shaded}{\begin{kframe}}{\end{kframe}} 43 | 44 | \usepackage{makeidx} 45 | \makeindex 46 | 47 | \urlstyle{tt} 48 | 49 | \usepackage{amsthm} 50 | \makeatletter 51 | \def\thm@space@setup{% 52 | \thm@preskip=8pt plus 2pt minus 4pt 53 | \thm@postskip=\thm@preskip 54 | } 55 | \makeatother 56 | 57 | \frontmatter 58 | -------------------------------------------------------------------------------- /12-1-plantecophys-6800.Rmd: -------------------------------------------------------------------------------- 1 | # LI-6800 的数据分析 {#anay_6800} 2 | 3 | ## 数据格式 {#data6800} 4 | 5 | 此处参考 \@ref(batch_question) 相关内容即可。 6 | 7 | ## LI-6800 与 LI-6400 使用时的差别 {#dif} 8 | 9 | `plantecophys` 使用时建立在 LI-6400XT 基础之上的软件包,因此在 LI-6800 代码中,需要改动的是 fitaci、fitacis 及 fitBB 中的 varnames 选项,也就是将 LI-6400XT 的表头改为 LI-6800 的表头。 10 | 以 fitaci 函数为例: 11 | 12 | ```{r, eval=FALSE} 13 | fitaci(aci, varnames = 14 | list(ALEAF = "A", Tleaf = "Tleaf", Ci = "Ci", 15 | PPFD = "Qin", Rd = "Rd")) 16 | ``` 17 | 18 | 19 | --- 20 | 21 | > 注:我个人觉得这样使用对于 LI-6800 来讲十分不方便,修改了一下 `plantecophys`,专门给 LI-6800 使用,具体可参考: 22 | 23 | 1.[使用示例](https://mp.weixin.qq.com/s?__biz=MzU4ODI3NjkzMg==&mid=2247484404&idx=1&sn=d239f828729afb6a3f6e99840f2ae580&chksm=fdde765fcaa9ff495d2bccaeafbdf7e2f277d049dc5c6adb6dda732acba29ab89cb166947084&mpshare=1&scene=1&srcid=1117xK7YP4teJLDvMqin9Sgf&sharer_sharetime=1605599821632&sharer_shareid=54a1abf54404775401f1afca5de45145&key=bf89f9a930e5471c34caab372884db37d25c335995749574e006f066cb416fb41ba01a2f69a3731482d05a92f7dc00398f5d8d1f847a524e226ab794caff8ea178345558686bb885d13916942d992b349b14905c8e7853860700ff1285c5a18a21dbf60af892e0ded188ed442d1d0168dd7c06de8f984d4ae2a98035b2592292&ascene=1&uin=MzMzODgyNDY5Mw%3D%3D&devicetype=Windows+10+x64&version=6300002f&lang=zh_CN&exportkey=A0TNUwEPJDhBuUPV1y9veGY%3D&pass_ticket=mdhrxAzIfs74t2CBHIkfTz7IvbpYSartOOH1ofi44h03G2TjZhlDYLS8QC1%2F0ynL&wx_header=0) 24 | 25 | 2. [plantecophys2](https://github.com/zhujiedong/plantecophys2) 26 | 27 | ## 光响应曲线注意事项 {#notice} 28 | 29 | 光响应曲线的拟合相对简单,仅需要光强和光合速率的值,其中需要修改的部分仅为光强的赋值部分,在文件名一致的前提下,修改如下代码即可: 30 | 31 | ```{r, eval=FALSE} 32 | lrc_Q <- lrc$Qin 33 | lrc_A <- lrc$A 34 | ``` 35 | 36 | ## 其他软件包的光响应曲线 {#other_light_response} 37 | 38 | [FitAQ 软件包](https://mp.weixin.qq.com/s?__biz=MzU4ODI3NjkzMg==&mid=2247485406&idx=1&sn=3c9f48168663b27f698d82125a7dbe18&chksm=fdde7275caa9fb63afb9e655e360c9d019c3813384fddae08b820a25800d6c6960afd120a66f&token=101697346&lang=zh_CN#rd) 39 | 40 | [photosynthesis 软件包](https://mp.weixin.qq.com/s?__biz=MzU4ODI3NjkzMg==&mid=2247484668&idx=1&sn=58b3cd098b1a07f96f6ba217a9bcc65e&chksm=fdde7157caa9f84133917abfb116dfab41bc0aa5d55eaee17f122c36502bce4b4c0d9a3bff1b&token=101697346&lang=zh_CN#rd) 41 | 42 | 43 | 44 | \cleardoublepage -------------------------------------------------------------------------------- /09-exp.Rmd: -------------------------------------------------------------------------------- 1 | ## 指数模型 {#lrc_exp} 2 | 3 | 光合指数模型较多,我们此处使用的指数函数的模型 @Prado1997Photosynthetic,其表达式为: 4 | 5 | \begin{equation} 6 | P_{n} = P_{nmax}[1 - e^{-b(I-I_{C})}] 7 | (\#eq:exp) 8 | \end{equation} 9 | 10 | 其中,$I_{c}$ 为光补偿点,$e$ 为自然对数的底,b为常数,其他参数意义同 \@ref(eq:exp)。同样,该方程仍然是没有极值的函数,但我们可以直接求得光补偿点。 11 | 12 | ### 指数模型的实现 {#lrc_exp_exam} 13 | 14 | ```{r, nexpr, fig.cap="指数模型拟合"} 15 | library(minpack.lm) 16 | 17 | # 读取数据,同fitaci数据格式 18 | lrc <- read.csv("./data/lrc.csv") 19 | lrc <- subset(lrc, Obs > 0) 20 | 21 | # 光响应曲线没有太多参数, 22 | # 直接调出相应的光强和光合速率 23 | # 方便后面调用 24 | lrc_Q <- lrc$PARi 25 | lrc_A <- lrc$Photo 26 | 27 | # 模型的拟合 28 | lrcnls <- nlsLM(lrc_A ~ Am*(1-exp((-b)*(lrc_Q-Ic))), 29 | start=list(Am=(max(lrc_A)-min(lrc_A)), 30 | Ic=5, b=1) 31 | ) 32 | fitlrc_exp <- summary(lrcnls) 33 | 34 | # 光饱和点 35 | Isat <- function(Isat){fitlrc_exp$coef[1,1]* 36 | (1-exp((-fitlrc_exp$coef[3,1])*(Isat- 37 | fitlrc_exp$coef[2,1])))-0.9*fitlrc_exp$coef[1,1]} 38 | 39 | uniroot(Isat, c(0,2000))$root 40 | 41 | ## 拟合图形 42 | library(ggplot2) 43 | light <- data.frame(lrc_Q = lrc$PARi, lrc_A = lrc$Photo) 44 | 45 | p <- ggplot(light, aes(x = lrc_Q, y = lrc_A)) 46 | 47 | p1 <- p + 48 | geom_point(shape = 16, size = 3, color = "green") + 49 | geom_smooth(method="nls", formula = 50 | y ~ Am*(1-exp((-b)*(x -Ic))), 51 | se = FALSE, method.args = list( 52 | start = c(Am=(max(lrc_A)-min(lrc_A)), 53 | Ic=5, b=0.002), aes(x =lrc_Q, y = lrc_A, 54 | color='blue', size = 1.2)) 55 | ) + 56 | labs(y=expression(paste("photosynthetic rate ", 57 | "(", mu, mol%.%m^-2%.%s^-1, ")")), 58 | x=expression(paste("PAR ", 59 | "(", mu, mol%.%m^-2%.%s^-1, ")"))) 60 | 61 | 62 | # 自定义坐标轴 63 | p1 + scale_x_continuous(breaks = seq(0, 2100, by = 200)) + 64 | scale_y_continuous(breaks= round(light$lrc_A)) + 65 | theme(axis.text.x = element_text( 66 | size = 10, angle=30, vjust=0.5), 67 | axis.text.y = element_text(size = 10), 68 | axis.title.x = element_text(size = 12, face = 'bold'), 69 | axis.title.y = element_text(size = 12, face = 'bold') 70 | ) 71 | ``` 72 | 73 | ```{r, nexptable, echo=FALSE} 74 | knitr::kable( 75 | fitlrc_exp$coef, booktabs = TRUE, 76 | caption = '指数模型计算参数' 77 | ) 78 | ``` 79 | 80 | 最终的数据拟结果如图 \@ref(fig:nexpr) 所示,拟合的参数及结果见表 \@ref(tab:nexptable)。 81 | 82 | 83 | \cleardoublepage 84 | -------------------------------------------------------------------------------- /12-2-autoracir.Rmd: -------------------------------------------------------------------------------- 1 | ## LI-6800 RACiR\texttrademark 的测量与拟合 {#racir68} 2 | 3 | 在评估作物性状时,V$_{cmax}$ 及 J$_{max}$时非常有用,传统的 A–Ci 曲线测量要求植物叶片要在一定浓度 CO$_{2}$ 4 | 下适应几分钟后完成测量,这样的测量有几个缺点: 5 | 6 | * 测量时间长,一条曲线至少需要 20 – 30 min,样本量多,重复多时,这种方法几乎没有可行性。 7 | * 整个测量过程中,时间长,酶的激活状态会有变化,叶绿体会移动,气孔的开度也会发生变化。 8 | 9 | 而 LI-6800 独有的 auto control 功能在算法上允许用户自定义 CO$_{2}$ 的起始浓度和种植浓度、变化方式(线性或其他)、所花费的时间,再加上其 10 | IRGAs 极快的响应频率,使得短时间内的 A–Ci 的测量成为现实,即快速 CO$_{2}$ 响应曲线 RACiR\texttrademark 11 | 测量实验,该功能使得 5 min 内测量 A–Ci 曲线成为可能。该方法的实现可参考 @stinziano2017 12 | 的文章。 13 | 14 | @stinziano2018 针对 RACiR\texttrademark 技术的疑问做了解答并提出了准确测量的建议,概括如下: 15 | 16 | * 首先,采用 100 ppm/min 的变化速率是与标准方法重合度最高的测量。 17 | * 其次,明确研究问题,目前已有研究表明Vcmax 与 Jmax 的计算结果与标准测量方法结果无显著差异。 18 | * 任何条件的改变,都需要做空叶室校准,例如:流速,气体浓度变化方向、温度,斜率等。 19 | * 空叶室校准与叶片测量采用严格的同一次校准,因为 IRGA 的漂移,需要再次匹配时,或者环境条件改变时,需要重新做空叶室校准。是否需要匹配,可通过不加叶片的最初状态查看,此时 A 值应接近为0,reference 和 sample 气体浓度读数接近相等。 20 | * IRGA 分析器使用 5 此多项式进行校准,推荐使用 1 次到 5 次多项式进行拟合,然后根据 BIC 指数来确定最合适的空叶室校准系数(即非参数拟合的模型选择的问题)。 21 | 确定最合适的浓度变化范围。通常需要去掉最初和最后 30 s的数据。 22 | * 最小化校准和测量值之间的水分摩尔分数差异。甚至有可能需要控制 reference 或 sample 的水的摩尔分数而不是 Vpdleaf。 23 | 通过预实验来确定最合适的 $CO_2$ 变化范围和随时间的斜率。 24 | 25 | **本文之后关于racir 的空叶室校正部分全部不再支持,因为LI-6800 1.5之后的系统版本,关于两个分析器在快速变化环境条件下的校正均由仪器完成,分析工作直接使用 `plantecophys` 等软件拟合即可。** 26 | 27 | 例如下面的数据采用了 1.5.02 的 BP 程序 `DAT_CO2_Continuous.py`,直接测量的 RACiR 数据,结果如下: 28 | 29 | ```{r, eval=FALSE} 30 | remotes::install_github("zhujiedong/plantecophys2") 31 | ``` 32 | 33 | 34 | ```{r} 35 | adyn <- read.csv("data/racir_adyn.csv") 36 | 37 | adyn_fit <- plantecophys2::fitaci(adyn) 38 | 39 | 40 | ``` 41 | ```{r, adyn_plot, fig.cap="使用 Adyn 来进行RACiR 的直接测量数据"} 42 | plot(adyn_fit) 43 | ``` 44 | 45 | \@ref(fig: dyn_plot) 展示的使用 LI-6800 自带程序测量的数据,无需修正,测量作物为早春温室的水稻。 46 | 47 | 48 | ** 以上为推荐方式,之前的内容自本日(2021.11.12)起正式删除 ** 49 | 50 | ## LI-6800 RACiR\texttrademark 簇状叶的测量与拟合 {#racir-conifer} 51 | 52 | > 该部分内容请使用 DAT 来测量,实际上后来的 `DAT_CO2_Continuous.py` 的测量方式参考了这篇文献的内容。代码部分删除,因为新方法无需要再进行校准了。 53 | 54 | @Coursolle12019 测量了簇状叶黑云杉和香脂冷杉两种簇状叶植物的 RACiR,其中的试验方法和结论值得在测量时借鉴,测量方法上: 55 | 56 | - 簇状叶室体积远大于荧光叶室和其他叶室,使用的 $CO_2$ 的变化为: 15 min 内从 20 ppm 到 1520 ppm 的变化,即变化的速率为 $100 ppm \cdot min^{-1}$。但也测试了 200 - 800 ppm的部分曲线。 57 | 58 | - 拟合使用了测量的 Rd,测量方法为:控制 reference 气路在 420 ppm 的 $CO_2$ 和 22 $mmol \cdot mol^{-1}$ 的 H~2~O 浓度,控制温度为 25 C,诱导后测量 Rd。 59 | 60 | 得到了一些有帮助的结论: 61 | 62 | - 使用更大的叶室测量 RACiR 是可行的(36 $cm^2$),叶室环境的控制需要通过预实验来确定。 63 | 64 | - 该实验使用的 ACi 曲线测量时间在 30 到 36 min,而 RACiR 使用的**完整的二氧化碳的浓度范围**时,曲线耗时最大的时间接近 22 min。但使用 200 - 800 ppm 范围的变化,则时间可以下降 50%,**这些部分范围的测量则可以应用于植物胁迫和表型平台的研究**。 65 | 66 | - 实验结果证明只要 match 的调整值保持不变即无需进行空叶室校准(也就是无需匹配的意思,实际的时间间隔取决于仪器的状态),但最新的 range match 功能可有效的增加空叶室校准的时间间隔(新功能,作者试验时尚未推出该功能)。 67 | 68 | - 作者建议最好测量暗呼吸的速率,以获得最佳的 Vcmax 和 Jmax 计算结果。如果有第二台光合仪来测量则可有效的缩短测量时间。 69 | 70 | 71 | \cleardoublepage -------------------------------------------------------------------------------- /03-stomatal.Rmd: -------------------------------------------------------------------------------- 1 | # 气孔导度模型的拟合 {#stomotal_sim} 2 | 3 | 气孔导度模型的拟合是通过 `fitBB` 来实现的,可以拟合三个 **Ball-Berry 类型的气孔导度模型**,共有下面几个参数: 4 | 5 | * 气孔导度 (gs), 6 | * 光合 (A), 7 | * 外界 CO~2~ 浓度 (Ca) 8 | * 水气压亏缺 (VPD). 9 | 10 | 其三个模型的简介如下: 11 | 12 | ## BallBerry 模型 {#ballberry} 13 | 14 | @Ball1987A 发表的文章中的模型: 15 | 16 | \begin{equation} 17 | g_s = g0 + g1(\frac{A h_r}{C_a}) 18 | (\#eq:ballberry) 19 | \end{equation} 20 | 21 | 其中 A 为净光合速率,g~0~ 和 g~1~ 为拟合参数,h~r~ 为叶片表面的相对湿度,C~a~ 为叶片处CO~2~浓度。 22 | 23 | ## BBLeuning 模型 {#bbleuning} 24 | 25 | @leuning1995a 发表的文章中的模型: 26 | 27 | \begin{equation} 28 | g_s = g_0 + g_1(\frac{A}{(C_a - \Gamma)(1 + \frac{D}{D_0})}) 29 | (\#eq:BBLeuning) 30 | \end{equation} 31 | 32 | 其中 $\Gamma$ 为 CO~2~ 补偿点,g~0~、g~1~ 和 D~0~ 为拟合参数。 33 | 34 | ## BBOptiFull 模型 {#bboptifull} 35 | 36 | @Medlyn2011Reconciling 发表的文章中的模型: 37 | 38 | \begin{equation} 39 | g_s^* \approx g_0 + g_1(1 + \frac{g_1}{D}) \frac{A}{C_a} 40 | (\#eq:BBOptiFull) 41 | \end{equation} 42 | 43 | 额外的参数 g~k~ 来自于 @Duursma2013Near 44 | \begin{equation} 45 | g_s = g_0 + 1.6(1 + \frac{g_1}{D}(1-g_k)) \frac{A}{C_a} 46 | (\#eq:Duursm) 47 | \end{equation} 48 | 49 | ## `fitBB` 函数 {#fitbb-p} 50 | 51 | ```{r eval=FALSE} 52 | fitBB(data, varnames = list( 53 | ALEAF = "A", GS = "gsw", VPD = "VPDleaf", 54 | Ca ="CO2_s", RH = "RHcham"), 55 | gsmodel = c("BBOpti", "BBLeuning", "BallBerry", 56 | "BBOptiFull"), fitg0 = FALSE) 57 | ``` 58 | 59 | 60 | **参数的意义:** 61 | 62 | * data:待分析的数据文件。 63 | * varnames:注意,函数默认数据为 6400 格式,因此 6800 的数据文件要安装上文的参数修改。 相对湿度只有在使用 BallBerry 时才需要输入。 64 | * gsmodel:上述三个模型之一。 65 | * fitg0:默认不计算g0,若需要,改为TRUE。 66 | 67 | **代码示例:** 68 | 69 | ```{r, fitbb} 70 | library(plantecophys) 71 | 72 | aci <- read.csv("./data/aci.csv") 73 | aci <- subset(aci, Obs > 0) 74 | fitBB(aci, varnames = list(ALEAF = "Photo", GS = "Cond", VPD = "VpdL", 75 | Ca = "CO2S", RH = "RH_S"), gsmodel = "BBOpti", fitg0 = TRUE) 76 | ``` 77 | 78 | ## `fitBBs` 函数 {#fitbbs} 79 | 80 | 如果我们有多个物种的数据,那么使用 `fitBBs` 则可以快速拟合多条曲线的数据。我们先整合两次的数据,然后再查看运行结果: 81 | 82 | ```{r, fitbbs} 83 | aci01 <- read.csv("./data/aci01.csv") 84 | aci01 <- subset(aci01, Obs > 0) 85 | multiBB <- data.frame( 86 | A = c(aci$Photo, aci01$Photo), 87 | GS = c(aci$Cond, aci01$Cond), 88 | CO2S = c(aci$CO2S, aci01$CO2S), 89 | VPD = c(aci$VpdL, aci01$VpdL), 90 | RH = c(aci$RH_S, aci01$RH_S), 91 | species = c(rep("species1", length(aci$Photo)), 92 | rep("species2", length(aci01$Photo))) 93 | ) 94 | 95 | mod2 <- fitBBs(multiBB, group = "species", 96 | varnames = list( 97 | ALEAF = "A", GS = "GS", VPD = "VPD", 98 | Ca ="CO2S", RH = "RH"), 99 | gsmodel = "BallBerry", fitg0 = TRUE) 100 | coef(mod2) 101 | ``` 102 | 103 | \cleardoublepage 104 | -------------------------------------------------------------------------------- /docs/libs/gitbook-2.6.7/css/plugin-bookdown.css: -------------------------------------------------------------------------------- 1 | .book .book-header h1 { 2 | padding-left: 20px; 3 | padding-right: 20px; 4 | } 5 | .book .book-header.fixed { 6 | position: fixed; 7 | right: 0; 8 | top: 0; 9 | left: 0; 10 | border-bottom: 1px solid rgba(0,0,0,.07); 11 | } 12 | span.search-highlight { 13 | background-color: #ffff88; 14 | } 15 | @media (min-width: 600px) { 16 | .book.with-summary .book-header.fixed { 17 | left: 300px; 18 | } 19 | } 20 | @media (max-width: 1240px) { 21 | .book .book-body.fixed { 22 | top: 50px; 23 | } 24 | .book .book-body.fixed .body-inner { 25 | top: auto; 26 | } 27 | } 28 | @media (max-width: 600px) { 29 | .book.with-summary .book-header.fixed { 30 | left: calc(100% - 60px); 31 | min-width: 300px; 32 | } 33 | .book.with-summary .book-body { 34 | transform: none; 35 | left: calc(100% - 60px); 36 | min-width: 300px; 37 | } 38 | .book .book-body.fixed { 39 | top: 0; 40 | } 41 | } 42 | 43 | .book .book-body.fixed .body-inner { 44 | top: 50px; 45 | } 46 | .book .book-body .page-wrapper .page-inner section.normal sub, .book .book-body .page-wrapper .page-inner section.normal sup { 47 | font-size: 85%; 48 | } 49 | 50 | @media print { 51 | .book .book-summary, .book .book-body .book-header, .fa { 52 | display: none !important; 53 | } 54 | .book .book-body.fixed { 55 | left: 0px; 56 | } 57 | .book .book-body,.book .book-body .body-inner, .book.with-summary { 58 | overflow: visible !important; 59 | } 60 | } 61 | .kable_wrapper { 62 | border-spacing: 20px 0; 63 | border-collapse: separate; 64 | border: none; 65 | margin: auto; 66 | } 67 | .kable_wrapper > tbody > tr > td { 68 | vertical-align: top; 69 | } 70 | .book .book-body .page-wrapper .page-inner section.normal table tr.header { 71 | border-top-width: 2px; 72 | } 73 | .book .book-body .page-wrapper .page-inner section.normal table tr:last-child td { 74 | border-bottom-width: 2px; 75 | } 76 | .book .book-body .page-wrapper .page-inner section.normal table td, .book .book-body .page-wrapper .page-inner section.normal table th { 77 | border-left: none; 78 | border-right: none; 79 | } 80 | .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr, .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr > td { 81 | border-top: none; 82 | } 83 | .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr:last-child > td { 84 | border-bottom: none; 85 | } 86 | 87 | div.theorem, div.lemma, div.corollary, div.proposition, div.conjecture { 88 | font-style: italic; 89 | } 90 | span.theorem, span.lemma, span.corollary, span.proposition, span.conjecture { 91 | font-style: normal; 92 | } 93 | div.proof>*:last-child:after { 94 | content: "\25a2"; 95 | float: right; 96 | } 97 | .header-section-number { 98 | padding-right: .5em; 99 | } 100 | #header .multi-author { 101 | margin: 0.5em 0 -0.5em 0; 102 | } 103 | #header .date { 104 | margin-top: 1.5em; 105 | } 106 | -------------------------------------------------------------------------------- /12-4-deleted-man-racir.txt: -------------------------------------------------------------------------------- 1 | ## RACiR\texttrademark 分析的手动实现 {#racir68_exam} 2 | 3 | 以下内容是我之前写的内容,部分代码的实现和上述软件包相似,仅供参考,尤其是当您使用 `racir` 软件包报错时,可以参考下文代码手动实现 RACiR 数据的分析。 4 | 5 | ```{r, eval=FALSE} 6 | # 加载需要的软件包 --------------------------------------------------------------- 7 | 8 | library("plantecophys") 9 | 10 | #准备数据 ------------------------------------------------------------------ 11 | 12 | #----------------------------------------------------- 13 | # 也可以使用上文中的 xls_read() 来直接读取 excel 数据 14 | #----------------------------------------------------- 15 | empty_uc <- read.csv("./data/racir-csv/uncorr_emp500.csv") 16 | leaf_uc <- read.csv("./data/racir-csv/uncorr_leaf500.csv") 17 | aci <- read.csv("./data/racir-csv/aci_ex.csv") 18 | 19 | # 防止读入空白行 20 | empty_uc <- subset(empty_uc, obs > 0) 21 | leaf_uc <- subset(leaf_uc , obs > 0) 22 | aci <- subset(aci, obs > 0) 23 | 24 | # 空叶室校准的系数计算 -------------------------------------------------------------- 25 | 26 | # 观察空叶室未校准数据reference对A的图形 27 | plot(empty_uc$CO2_r, empty_uc$A) 28 | # 选取线性部分用于校准 29 | locator() 30 | 31 | # 执行locator命令后,在上图中的目标位置选点, 32 | # 选好后按 esc 可以返回所选点的坐标(选点即为在 33 | # 预期位置鼠标单击) 34 | # 根据上面的点,利用二氧化碳的值过滤掉不需要的数据 35 | # 只要在线性范围内选点,拟合结果相差很小 36 | 37 | empty_ct <- empty_uc[which(empty_uc$CO2_r > 38 | 45.28 & empty_uc$CO2_r < 459.12), ] 39 | plot(empty_ct$CO2_r, empty_ct$A) 40 | 41 | # 采用 1~5 次多项式分别拟合 42 | cal1st <- lm(A ~ CO2_r, data = empty_ct) 43 | cal2nd <- lm(A ~ poly(CO2_r, 2), data = empty_ct) 44 | cal3rd <- lm(A ~ poly(CO2_r, 3), data = empty_ct) 45 | cal4th <- lm(A ~ poly(CO2_r, 4), data = empty_ct) 46 | cal5th <- lm(A ~ poly(CO2_r, 5), data = empty_ct) 47 | # 利用 BIC 找出最合理的校准方程 48 | bics <- BIC(cal1st, cal2nd, cal3rd, cal4th, cal5th) 49 | # noquote也就是没引号,成为名字 50 | best <- noquote(rownames(bics)[bics$BIC == min(bics$BIC)]) 51 | best 52 | 53 | 54 | # 校准带叶片测量的数据 -------------------------------------------------------------- 55 | 56 | leaf_uc$A <- leaf_uc$A - predict(cal4th, leaf_uc) 57 | leaf_uc$Ci <- ((leaf_uc$gtc - leaf_uc$E / 2) * leaf_uc$CO2_s - 58 | leaf_uc$A) / (leaf_uc$gtc + leaf_uc$E / 2) 59 | 60 | # 对校准后的数据进行作图,查看校准效果 61 | plot(leaf_uc$CO2_r, 62 | leaf_uc$A, 63 | pch = 2, 64 | ylim = c(-20, 40)) 65 | 66 | # 选取带叶片测量的有效数据的范围 67 | locator() 68 | 69 | leaf_ct <- leaf_uc[which(leaf_uc$CO2_r > 13.6 & 70 | leaf_uc$CO2_r < 471), ] 71 | plot(leaf_uc$CO2_r, leaf_uc$A) 72 | 73 | 74 | # 拟合 ---------------------------------------------------------------------- 75 | racir <- fitaci( 76 | leaf_ct, 77 | varnames = 78 | list( 79 | ALEAF = "A", 80 | Tleaf = "Tleaf", 81 | Ci = "Ci", 82 | PPFD = "Qin", 83 | Rd = "Rd" 84 | ), 85 | Patm = 84.09 86 | ) 87 | 88 | slow <- fitaci( 89 | aci, 90 | varnames = 91 | list( 92 | ALEAF = "A", 93 | Tleaf = "Tleaf", 94 | Ci = "Ci", 95 | PPFD = "Qin", 96 | Rd = "Rd" 97 | ), 98 | Patm = 84.09 99 | ) 100 | 101 | # 查看拟合数据 102 | racir$pars 103 | slow$pars 104 | 105 | # 对快速曲线作图拟合结果进行查看 106 | plot(racir, linecols = c("green", "blue", "red")) 107 | ``` 108 | 109 | 注意,注意数据表头的大小写,此处代码中,为处理数据的方便,我更改了大小写,分析自己的数据时需要注意。 110 | 111 | \cleardoublepage -------------------------------------------------------------------------------- /02-2-plantecophys-intr.Rmd: -------------------------------------------------------------------------------- 1 | ## `plantecophys` 软件包 {#plantecophys} 2 | 3 | Remko A. Duursma 在2015年发表了一篇文章 @Duursma2015Plantecophys,`plantecophys` 是其开发的一个R包工具集,用于对叶片气体交换数据进行分析和建模。实现了如下功能: 4 | 5 | * CO~2~ 响应曲线 (A-Ci curves) 的拟合、作图及模拟。 6 | * 不同气孔导度模型。 7 | * 根据 Cowan-Farquhar 的假设估算最适的气孔导度。 8 | * 耦合气体交换模型的实现。 9 | * 基于 Ci 模拟 C4 光合。 10 | * RHtoVPD:常用单位的转换(相对湿度、水汽压亏缺、露点温度)。 11 | 12 | 各参数的基本用法请参考后文内容,或官方帮助文档: 13 | 14 | [plantecophys](https://cran.r-project.org/web/packages/plantecophys/plantecophys.pdf)。 15 | 16 | ## LI-6400XT CO~2~ 响应曲线的拟合 {#fit6400} 17 | 18 | LI-6400XT CO~2~ 响应曲线的拟合需要借助 `plantecophys` 的 `fitaci` 实现,fitaci 函数为根据 FvCB 模型对 A-Ci 曲线的测量数据进行拟合,并估算 J$_{max}$、V$_{cmax}$、R$_{d}$及他们的标准差,并根据 19 | @Medlyn2002Temperature 的方法考虑了温度的影响。 20 | 21 | ### fitaci 函数介绍 {#fitaci_intro} 22 | 23 | `fitaci` 的用法如下^[仅针对 C3 植物]: 24 | 25 | ```{r eval=FALSE} 26 | fitaci(data, varnames = list(ALEAF = "Photo", 27 | Tleaf = "Tleaf", Ci = "Ci", PPFD = "PARi", 28 | Rd = "Rd"), Tcorrect = TRUE, Patm = 100, 29 | citransition = NULL, quiet = FALSE, 30 | startValgrid = TRUE, fitmethod = 31 | c("default", "bilinear", "onepoint"), 32 | algorithm = "default", fitTPU = FALSE, 33 | useRd = FALSE, PPFD = NULL, Tleaf = NULL, 34 | alpha = 0.24, theta = 0.85, gmeso = NULL, 35 | EaV = 82620.87, EdVC = 0, delsC = 645.1013, 36 | EaJ = 39676.89, EdVJ = 2e+05, 37 | delsJ = 641.3615, GammaStar = NULL, 38 | Km = NULL, id = NULL, ...) 39 | 40 | ## S3 method for class 'acifit' 41 | plot(x, what = c("data", "model", "none"), 42 | xlim = NULL, ylim = NULL, whichA = c( 43 | "Ac", "Aj", "Amin", "Ap"), add = FALSE, 44 | pch = 19, addzeroline = TRUE, addlegend = 45 | !add, legendbty = "o",transitionpoint = TRUE, 46 | linecols = c("black", "blue", "red"), lwd = c(1, 47 | 2), ...) 48 | 49 | ``` 50 | 51 | 52 | *主要参数注释:* 53 | 54 | * data:需要分析的数据,必须为 data.frame^[具体参考 R 语言相关文档,为 R 语言最常用的数据格式]。 55 | 格式。 56 | * varnames:数据的表头,此处函数默认的表头为 LI-6400 的表头,分析 LI-6400 的数据时可以不用填写,直接使用默认的参数即可^[在 R 中,使用参数的值为默认值时可以不用填写该参数,例如使用默认选项分析 LI-6400 数据时,可只填写 data 项,具体参考 57 | R 的相关入门手册]。 58 | * Tcorrect:如果为 TRUE,那么 J$_{max}$、V$_{cmax}$ 的结果为温度校正结果,若 Tcorrect = FALSE,则为测量温度下的结果。 59 | * Patm:为外界大气压。 60 | * citransition:参见详,若提供该选项,则 J$_{max}$、V$_{cmax}$ 61 | 的区域则分别拟合^[为Rubisco和RuBP限制的Ci转换点,物种间差异较大,可以通过预实验确定]。 62 | * fitmethod:参见详解。 63 | * fitTPU:是否拟合 TPU 限制,默认为 FALSE,参见详解。 64 | * x:对于plot.acifit,x 为fitaci返回的对象,简单理解为 将 fitaci 函数拟合结果赋值给一个变量,此处plot函数实际上为plot.acifit。 65 | * what:利用基础做图工具,默认为对数据和模型进行作图。 66 | * whichA:默认为对所有的光合速率进行作图(Aj=Jmax-limited (蓝色), Ac=Vcmax- limited (红色), 67 | Hyperbolic minimum (黑色)), TPU-limited rate (Ap, 如果模型有计算结果)。 68 | 69 | 其他参数请参考 FvCB 模型 @Farquhar1980A 或查看 plantecophys 的帮助文档。 70 | 71 | #### fitaci函数详解 {#fitaci_detail} 72 | 73 | * 默认为非线性拟合,详见 @Duursma2015Plantecophys。 74 | * bilinear 方法使用两次线性拟合方法首先拟合 V$_{cmax}$ 和 R$_{d}$,然后在拟合J$_{max}$,过渡点的选择为对所有数据拟合最适的点,类似 @Gu2010Reliable 的方法。该方法的优势时无论如何,都会返回拟合结果,尤其是非线性拟合失败时使用该方法,但若默认方法失败时,需首先检查是否数据存在问题。两种拟合方法的结果有轻微的差别^[若默认拟合方法失败,数据也无问题,那么是非线性拟合初始值设定的原因]。 75 | * onepoint 参考 @De2016A。 76 | * citransition 使用时,数据将被区分为 V$_{cmax}$ 限制(Ci < 77 | citransition )区域,以及 J$_{max}$ 限制 (Ci > citransition) 区域。 78 | 79 | * fitTPU:如果要计算TPU,要设置 fitTPU = TRUE,并且 fittingmethod 80 | = "bilinear"。但需要注意,当 TPU 被计算时,没有 J$_{max}$ 限制的点的存在是可能的。TPU限制的发生是在A值不随 81 | CO$_{2}$ 的增加而增加时发生的,因此计算 TPU 是否有返回值,取决于测量数据是否有此情况出现。 82 | 83 | \cleardoublepage 84 | -------------------------------------------------------------------------------- /08-nonrec.Rmd: -------------------------------------------------------------------------------- 1 | ## 非直角双曲线模型{#nonrec-mod} 2 | 3 | @Thornley1976 提出了非直角双曲线模型,它的表达式为: 4 | 5 | \begin{equation} 6 | P_{n} = \frac{\alpha I + P_{nmax} \sqrt{(\alpha I + P_{nmax})^{2} - 4 \theta \alpha I P_{nmax}}}{2 \theta} - R_{d} 7 | (\#eq:nrec) 8 | \end{equation} 9 | 10 | 其中,$\theta$ 为表示曲线弯曲程度的曲角参数,取值为$0\leq \theta \leq 1$。其他参数意义同式 \@ref(eq:rec)。同样如同直角双曲线模型,式仍然没有极值,无法求得 $I_{sat}$,可以仍然参考直角双曲线模型的方式进行计算。 11 | 12 | ### 非直角双曲线模型的实现{#nonrec_mode_exam} 13 | 14 | 15 | ```{r nrecr, fig.cap="非直角双曲线模型拟合"} 16 | library(minpack.lm) 17 | 18 | # 读取数据,同fitaci数据格式 19 | lrc <- read.csv("./data/lrc.csv") 20 | lrc <- subset(lrc, Obs > 0) 21 | 22 | # 光响应曲线没有太多参数, 23 | # 直接调出相应的光强和光合速率 24 | # 方便后面调用 25 | lrc_Q <- lrc$PARi 26 | lrc_A <- lrc$Photo 27 | 28 | # 非直角双曲线模型的拟合 29 | lrcnls <- nlsLM(lrc_A ~ 30 | (1/(2*theta))* 31 | (alpha*lrc_Q+Am-sqrt((alpha*lrc_Q+Am)^2 - 32 | 4*alpha*theta*Am*lrc_Q))- Rd, 33 | start=list(Am=(max(lrc_A)-min(lrc_A)), 34 | alpha=0.05,Rd=-min(lrc_A),theta=1)) 35 | 36 | fitlrc_nrec <- summary(lrcnls) 37 | 38 | # 光补偿点 39 | Ic <- function(Ic){ 40 | (1/(2 * fitlrc_nrec$coef[4,1])) * 41 | (fitlrc_nrec$coef[2,1] * Ic + fitlrc_nrec$coef[1,1] - 42 | sqrt((fitlrc_nrec$coef[2,1] * Ic + fitlrc_nrec$coef[1,1] 43 | )^2 - 4 * fitlrc_nrec$coef[2,1] * 44 | fitlrc_nrec$coef[4,1] * fitlrc_nrec$coef[1,1] * Ic)) - 45 | fitlrc_nrec$coef[3,1] 46 | } 47 | 48 | uniroot(Ic, c(0,50))$root 49 | 50 | # 光饱和点 51 | Isat <- function(Isat){ 52 | (1/(2 * fitlrc_nrec$coef[4,1])) * (fitlrc_nrec$coef[2,1] * 53 | Isat + fitlrc_nrec$coef[1,1] - sqrt( 54 | (fitlrc_nrec$coef[2,1] * Isat +fitlrc_nrec$coef[1,1])^2 - 55 | 4*fitlrc_nrec$coef[2,1] * fitlrc_nrec$coef[4,1] * 56 | fitlrc_nrec$coef[1,1] * Isat)) - 57 | fitlrc_nrec$coef[3,1] - (0.9*fitlrc_nrec$coef[1,1])} 58 | 59 | uniroot(Isat, c(0,2000))$root 60 | 61 | 62 | # 使用ggplot2进行作图并拟合曲线 63 | library(ggplot2) 64 | light <- data.frame(lrc_Q = lrc$PARi, lrc_A = lrc$Photo) 65 | 66 | p <- ggplot(light, aes(x = lrc_Q, y = lrc_A)) 67 | 68 | p1 <- p + geom_point(shape = 16, size = 3, color = "green") + 69 | geom_smooth(method="nls", formula = y ~ 70 | (1/(2*theta))*(alpha*x+Am-sqrt((alpha*x+Am)^2 - 71 | 4*alpha*theta*Am*x))- Rd, se = FALSE, 72 | method.args = list(start = c(Am=(max(lrc_A)-min(lrc_A)), 73 | alpha=0.05, Rd=-min(lrc_A), theta=1), 74 | aes(x =lrc_Q, y = lrc_A, color='blue', size = 1.2)) 75 | ) + 76 | labs(y=expression(paste("photosynthetic rate ", 77 | "(", mu, mol%.%m^-2%.%s^-1, ")")), 78 | x=expression(paste("PAR ", 79 | "(", mu, mol%.%m^-2%.%s^-1, ")"))) 80 | 81 | # 自定义坐标轴 82 | p1 + scale_x_continuous(breaks = seq(0, 2100, by = 200)) + 83 | scale_y_continuous(breaks= round(light$lrc_A)) + 84 | theme(axis.text.x = element_text( 85 | size = 10, angle=30, vjust=0.5), 86 | axis.text.y = element_text(size = 10), 87 | axis.title.x = element_text(size = 12, face = 'bold'), 88 | axis.title.y = element_text(size = 12, face = 'bold') 89 | ) 90 | ``` 91 | 92 | ```{r, nrectable, echo=FALSE} 93 | knitr::kable( 94 | fitlrc_nrec$coef, booktabs = TRUE, 95 | caption = '非直角双曲线计算参数' 96 | ) 97 | ``` 98 | 99 | 最终的数据拟结果如图 \@ref(fig:nrecr) 所示,拟合的参数及结果见表 \@ref(tab:nrectable)。单纯从作图来看,本例数据使用非直角双曲线与散点图重合程度更高。 100 | 101 | \cleardoublepage 102 | -------------------------------------------------------------------------------- /10-modified-rec.Rmd: -------------------------------------------------------------------------------- 1 | ## 直角双曲线的修正模型 {#rev_rec} 2 | 3 | @YEZiPiao2010 直角双曲线修正模型的表达式如式 \@ref(eq:mrec) 所示: 4 | 5 | \begin{equation} 6 | P_{n} = \alpha \frac{1-\beta I}{1+\gamma I} I - R_{d} 7 | (\#eq:mrec) 8 | \end{equation} 9 | 10 | 其中,$\beta$ 和 $\gamma$ 为系数,$\beta$光抑制项,$\gamma$光饱和项,单位为 11 | $m^{2}\cdot s\cdot\mu mol^{-1}$,其他参数与上文相同,因为该式 \@ref(eq:mrec) 12 | 存在极值,因此,必然存在饱和光强和最大净光合速率,分别用式 \@ref(eq:isat) 和式 \@ref(eq:ic) 求得。 13 | 14 | \begin{equation} 15 | I_{sat} = \frac{\sqrt{\frac{(\beta+\gamma)}{\beta}} - 1}{\gamma} 16 | (\#eq:isat) 17 | \end{equation} 18 | 19 | \begin{equation} 20 | P_{nmax} = \alpha\left(\frac{\sqrt{\beta+\gamma}-\sqrt{\beta}}{\gamma}\right)^{2}-R_{d} 21 | (\#eq:ic) 22 | \end{equation} 23 | 24 | 该模型的优点为拟合结果中光饱和点和最大净光合速率均接近实测值,还可以拟合饱和光强之后光合速率随光强下降段的曲线。 25 | 26 | ### 直角双曲线修正模型的实现 {#rev_rec_exam} 27 | 28 | ```{r, mrecr, fig.cap="直角双曲线修正模型拟合"} 29 | library(minpack.lm) 30 | 31 | # 读取数据,同fitaci数据格式 32 | lrc <- read.csv("./data/lrc.csv") 33 | lrc <- subset(lrc, Obs > 0) 34 | 35 | # 光响应曲线没有太多参数, 36 | # 直接调出相应的光强和光合速率 37 | # 方便后面调用 38 | lrc_Q <- lrc$PARi 39 | lrc_A <- lrc$Photo 40 | 41 | # 模型的拟合 42 | lrcnls <- nlsLM(lrc_A ~ alpha * ((1 - 43 | beta*lrc_Q)/(1 + gamma * lrc_Q)) * lrc_Q - Rd, 44 | start=list(alpha = 0.07, beta = 0.00005, 45 | gamma=0.004, Rd = 0.2) 46 | ) 47 | fitlrc_mrec <- summary(lrcnls) 48 | 49 | # 饱和点计算 50 | Isat <- (sqrt((fitlrc_mrec$coef[2,1] + fitlrc_mrec$coef[3,1])/ 51 | fitlrc_mrec$coef[2,1]) -1)/fitlrc_mrec$coef[3,1] 52 | # 补偿点计算 53 | Ic <- ( 54 | -(fitlrc_mrec$coef[3, 1] * fitlrc_mrec$coef[4, 1] - 55 | fitlrc_mrec$coef[1, 1]) - sqrt((fitlrc_mrec$coef[3, 1] * 56 | fitlrc_mrec$coef[4, 1] - fitlrc_mrec$coef[1, 1])^2- 57 | (4 * fitlrc_mrec$coef[1, 1] * fitlrc_mrec$coef[2, 1] * 58 | fitlrc_mrec$coef[4, 1])))/ 59 | (2*fitlrc_mrec$coef[1,1]*fitlrc_mrec$coef[2,1]) 60 | 61 | ## 拟合图形 62 | library(ggplot2) 63 | light <- data.frame(lrc_Q = lrc$PARi, lrc_A = lrc$Photo) 64 | 65 | p <- ggplot(light, aes(x = lrc_Q, y = lrc_A)) 66 | 67 | p1 <- p + 68 | geom_point(shape = 16, size = 3, color = "green") + 69 | geom_smooth(method="nls", formula = 70 | y ~ alpha * ((1 - 71 | beta*x)/(1 + gamma * x)) * x - Rd, 72 | se = FALSE, method.args = list( 73 | start = c(alpha = 0.07, beta = 0.00005, 74 | gamma=0.004, Rd = 0.2), 75 | aes(x =lrc_Q, y = lrc_A, 76 | color='blue', size = 1.2)) 77 | ) + 78 | labs(y=expression(paste("photosynthetic rate ", 79 | "(", mu, mol%.%m^-2%.%s^-1, ")")), 80 | x=expression(paste("PAR ", 81 | "(", mu, mol%.%m^-2%.%s^-1, ")"))) 82 | 83 | 84 | # 自定义坐标轴 85 | p1 + scale_x_continuous(breaks = seq(0, 2100, by = 200)) + 86 | scale_y_continuous(breaks= round(light$lrc_A)) + 87 | theme(axis.text.x = element_text( 88 | size = 10, angle=30, vjust=0.5), 89 | axis.text.y = element_text(size = 10), 90 | axis.title.x = element_text(size = 12, face = 'bold'), 91 | axis.title.y = element_text(size = 12, face = 'bold') 92 | ) 93 | ``` 94 | 95 | ```{r, mrectable, echo=FALSE} 96 | knitr::kable( 97 | fitlrc_mrec$coef, booktabs = TRUE, 98 | caption = '直角双曲线修正模型计算参数' 99 | ) 100 | ``` 101 | 102 | 尽管修正模型可以方便的计算饱和点和补偿点,但如同 @Lobo2013Fitting 所指出,双曲线模型对其结果的计算常有超出生态学意义范围的值^[例如本例的数据结果],因此对模型的选择不能一概而论,需根据实际情况而选择。 103 | 104 | \cleardoublepage 105 | -------------------------------------------------------------------------------- /docs/libs/gitbook-2.6.7/js/jquery.highlight.js: -------------------------------------------------------------------------------- 1 | gitbook.require(["jQuery"], function(jQuery) { 2 | 3 | /* 4 | * jQuery Highlight plugin 5 | * 6 | * Based on highlight v3 by Johann Burkard 7 | * http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html 8 | * 9 | * Code a little bit refactored and cleaned (in my humble opinion). 10 | * Most important changes: 11 | * - has an option to highlight only entire words (wordsOnly - false by default), 12 | * - has an option to be case sensitive (caseSensitive - false by default) 13 | * - highlight element tag and class names can be specified in options 14 | * 15 | * Copyright (c) 2009 Bartek Szopka 16 | * 17 | * Licensed under MIT license. 18 | * 19 | */ 20 | 21 | jQuery.extend({ 22 | highlight: function (node, re, nodeName, className) { 23 | if (node.nodeType === 3) { 24 | var match = node.data.match(re); 25 | if (match) { 26 | var highlight = document.createElement(nodeName || 'span'); 27 | highlight.className = className || 'highlight'; 28 | var wordNode = node.splitText(match.index); 29 | wordNode.splitText(match[0].length); 30 | var wordClone = wordNode.cloneNode(true); 31 | highlight.appendChild(wordClone); 32 | wordNode.parentNode.replaceChild(highlight, wordNode); 33 | return 1; //skip added node in parent 34 | } 35 | } else if ((node.nodeType === 1 && node.childNodes) && // only element nodes that have children 36 | !/(script|style)/i.test(node.tagName) && // ignore script and style nodes 37 | !(node.tagName === nodeName.toUpperCase() && node.className === className)) { // skip if already highlighted 38 | for (var i = 0; i < node.childNodes.length; i++) { 39 | i += jQuery.highlight(node.childNodes[i], re, nodeName, className); 40 | } 41 | } 42 | return 0; 43 | } 44 | }); 45 | 46 | jQuery.fn.unhighlight = function (options) { 47 | var settings = { className: 'highlight', element: 'span' }; 48 | jQuery.extend(settings, options); 49 | 50 | return this.find(settings.element + "." + settings.className).each(function () { 51 | var parent = this.parentNode; 52 | parent.replaceChild(this.firstChild, this); 53 | parent.normalize(); 54 | }).end(); 55 | }; 56 | 57 | jQuery.fn.highlight = function (words, options) { 58 | var settings = { className: 'highlight', element: 'span', caseSensitive: false, wordsOnly: false }; 59 | jQuery.extend(settings, options); 60 | 61 | if (words.constructor === String) { 62 | words = [words]; 63 | // also match 'foo-bar' if search for 'foo bar' 64 | if (/\s/.test(words[0])) words.push(words[0].replace(/\s+/, '-')); 65 | } 66 | words = jQuery.grep(words, function(word, i){ 67 | return word !== ''; 68 | }); 69 | words = jQuery.map(words, function(word, i) { 70 | return word.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); 71 | }); 72 | if (words.length === 0) { return this; } 73 | 74 | var flag = settings.caseSensitive ? "" : "i"; 75 | var pattern = "(" + words.join("|") + ")"; 76 | if (settings.wordsOnly) { 77 | pattern = "\\b" + pattern + "\\b"; 78 | } 79 | var re = new RegExp(pattern, flag); 80 | 81 | return this.each(function () { 82 | jQuery.highlight(this, re, settings.element, settings.className); 83 | }); 84 | }; 85 | 86 | }); 87 | -------------------------------------------------------------------------------- /docs/reference-keys.txt: -------------------------------------------------------------------------------- 1 | fig:unnamed-chunk-2 2 | tab:unnamed-chunk-5 3 | fig:fvcb 4 | eq:aeta 5 | eq:achange 6 | eq:dynamic 7 | eq:com 8 | eq:combine 9 | eq:combine2 10 | eq:wc 11 | eq:wj 12 | eq:wp 13 | eq:fvcbfin 14 | eq:notecc 15 | tab:head6400 16 | fig:fitaci6400 17 | eq:inverseA 18 | eq:km 19 | eq:onepoint 20 | tab:onepointdata 21 | tab:unnamed-chunk-15 22 | fig:fitacisr-1 23 | fig:fitacisr-2 24 | fig:unnamed-chunk-19 25 | eq:ballberry 26 | eq:BBLeuning 27 | eq:BBOptiFull 28 | eq:Duursm 29 | eq:weff 30 | eq:minfvcb 31 | eq:cgm 32 | eq:ficker 33 | eq:driver 34 | fig:vpd 35 | fig:ppfd-1 36 | fig:ppfd-2 37 | fig:supply 38 | eq:tuzet 39 | eq:ftuzet 40 | eq:rec 41 | eq:aqe 42 | fig:recr 43 | tab:rectable 44 | eq:nrec 45 | fig:nrecr 46 | tab:nrectable 47 | eq:exp 48 | fig:nexpr 49 | tab:nexptable 50 | eq:mrec 51 | eq:isat 52 | eq:ic 53 | fig:mrecr 54 | tab:mrectable 55 | fig:pomp 56 | fig:alpp 57 | fig:alpf 58 | fig:malp 59 | fig:mcomp 60 | fig:anetcc 61 | fig:anetci 62 | fig:aappcc 63 | fig:aappci 64 | fig:intdelay 65 | fig:intslps 66 | fig:intdelaycc 67 | fig:slpdelaycc 68 | fig:anetdeccc 69 | fig:anetdecci 70 | fig:aappdeccc 71 | fig:aappdecci 72 | fig:difuci 73 | fig:difuci11 74 | fig:tolresis 75 | fig:tolre 76 | fig:prdataplot 77 | fig:resistplot 78 | fig:high3tplot 79 | fig:toresratetplot 80 | fig:deasratetplot 81 | tab:unnamed-chunk-52 82 | tab:unnamed-chunk-53 83 | tab:jipres 84 | tab:dcjipres 85 | fig:default-moulation-plot-ac 86 | fig:default-moulation-plot-dc 87 | fig:cus-ac-plot-leg-cls 88 | fig:cus-dc-plot-leg-cls 89 | fig:lai-big-leaf 90 | fig:lai-big-leaf-model 91 | fig:pccenter 92 | fig:pc2 93 | fig:maxvar 94 | fig:pc3 95 | fig:scree 96 | fig:loadingpca 97 | fig:scorepca 98 | eq:eign 99 | eq:despca 100 | intro 101 | rsoft 102 | rstudiosoft 103 | batch_question 104 | install_readphoto 105 | batch64 106 | li-6400-数据的整合6400combine 107 | recompute6400 108 | li-6800-数据的处理-6800data 109 | r-下-excel-格式读取的重计算-6800xlconnect 110 | python 111 | python-r-batch 112 | response_fit 113 | fvcb_mod 114 | co2_note 115 | model_3 116 | note_detail 117 | plantecophys 118 | fit6400 119 | fitaci_intro 120 | fitaci_detail 121 | plantecophy_use 122 | data6400 123 | fitaci-p 124 | onepoint 125 | onpoint_fit 126 | multi_curve 127 | fitacis_exa 128 | transition 129 | c4 130 | c4_sim 131 | stomotal_sim 132 | ballberry 133 | bbleuning 134 | bboptifull 135 | fitbb-p 136 | fitbbs 137 | stomotal_couple 138 | farao 139 | photo_stomo 140 | photosyn 141 | photo_exam 142 | photsyneb 143 | photosyntuzet 144 | photosyntuzet_para 145 | rhtovpd 146 | lrc_fit 147 | rec_mod 148 | rec_fit 149 | nonrec-mod 150 | nonrec_mode_exam 151 | lrc_exp 152 | lrc_exp_exam 153 | rev_rec 154 | rev_rec_exam 155 | start_con 156 | nlslm 157 | plot_comp 158 | plot_exam 159 | show_demo 160 | mult_try 161 | sum_start 162 | anay_6800 163 | data6800 164 | dif 165 | notice 166 | other_light_response 167 | racir68 168 | racir-conifer 169 | multi1 170 | multi2 171 | multi3 172 | code-photoresp 173 | multi4 174 | multi5 175 | multi6 176 | multi7 177 | multi8 178 | multi9 179 | multi10 180 | multi11 181 | multi12 182 | multi13 183 | multi14 184 | multi15 185 | fluro68 186 | jiptest 187 | jiptest_pack 188 | readfluor 189 | testfluor 190 | plotfluor 191 | default-plot-jiptest 192 | customized-plot-jiptest 193 | big-leaf 194 | leaf-scale-meas 195 | big-leaf-data 196 | single-data-big-leaf 197 | big-leaf-data-MODEL 198 | pca-anylysis 199 | geom-pca 200 | alge-pca 201 | egi-pca 202 | man_pca 203 | av_val 204 | cov_val 205 | eig_val 206 | prcom 207 | sessioninfo 208 | -------------------------------------------------------------------------------- /07-rec.Rmd: -------------------------------------------------------------------------------- 1 | # 光响应曲线的拟合 {#lrc_fit} 2 | 3 | 光响应曲线模型有很多,主要分为四大类,直角双曲线,非直角双曲线,指数以及直角双曲线修正模型,我们分别对这四类进行阐述。 4 | 5 | ## 直角双曲线模型 {#rec_mod} 6 | 7 | @BalyEC1935 提出了直角双曲线模型,它的表达式为: 8 | 9 | \begin{equation} 10 | P_{n} = \frac{\alpha I\ P_{nmax}}{\alpha I + P_{nmax}}- R_{d} 11 | (\#eq:rec) 12 | \end{equation} 13 | 14 | * 其中,$P_{n}$ 为净光合速率; 15 | * I 为光强; 16 | * $\alpha$ 为光响应曲线在光强为 0 时的斜率,即光响应曲线的初始斜率,也称之为初始量子效率; 17 | * $P_{nmax}$ 为最大净光合速率; 18 | * $R_{d}$:为暗呼吸速率。 19 | 20 | 对 \@ref(eq:rec) 求导可知其导数大于 0,也就是直角双曲线是一个没有极值的渐近线,因此,无法由 \@ref(eq:rec) 求得最大光合速率的饱和光强^[直角双曲线和非直角双曲线模型类似,如果测量时饱和光强之后光合速率不下降,则计算的P$_{nmax}$则远大于实测值。]。 21 | 22 | 因此就需要使用弱光条件下 23 | ($\leq$ 200 $\mu mol\cdot m^{-2}\cdot s^{-1}$) 的数据得到表观量子效率(apparent 24 | quantum efficiency,AQE),利用非线性最小二乘法估算 P$_{nmax}$ ,然后利用 @YEZiPiao2010 的式 \@ref(eq:aqe) 求解 $I_{sat}$, 25 | 26 | \begin{equation} 27 | P_{nmax}= AQE \times I_{sat} - R_{d} 28 | (\#eq:aqe) 29 | \end{equation} 30 | 31 | 但此方法测得的光饱和点远小于实测值,我们采用 0.7P$_{nmax}$ @ZhangXS2009、0.9P$_{nmax}$ 32 | @HuangHY2009、或其他设定的值来的来估算$I_{sat}$。 33 | 34 | ### 直角双曲线模型的实现 {#rec_fit} 35 | 36 | 若没有安装 `minpack.lm`, 则需要首先: 37 | 38 | ```{r, eval=FALSE} 39 | install.packages("minpack.lm") 40 | ``` 41 | 42 | 具体实现过程如下: 43 | 44 | ```{r, recr, fig.cap="直角双曲线模型拟合"} 45 | # 调用非线性拟合包minpack.lm,也可以直接使用nls 46 | library(minpack.lm) 47 | # 读取数据,同fitaci数据格式 48 | lrc <- read.csv("./data/lrc.csv") 49 | lrc <- subset(lrc, Obs > 0) 50 | 51 | # 光响应曲线没有太多参数, 52 | # 直接调出相应的光强和光合速率 53 | # 方便后面调用 54 | lrc_Q <- lrc$PARi 55 | lrc_A <- lrc$Photo 56 | 57 | # 采用非线性拟合进行数据的拟合 58 | lrcnls <- nlsLM(lrc_A ~ (alpha * lrc_Q * Am) * 59 | (1/(alpha * lrc_Q + Am)) - Rd, 60 | start=list(Am=(max(lrc_A)-min(lrc_A)), 61 | alpha=0.05,Rd=-min(lrc_A)) 62 | ) 63 | fitlrc_rec <- summary(lrcnls) 64 | 65 | # 补偿点时净光合速率为0, 66 | # 据此利用uniroot求解方程的根 67 | Ic <- function(Ic){(fitlrc_rec$coef[2,1] * Ic * 68 | fitlrc_rec$coef[1,1]) * (1/(fitlrc_rec$coef[2,1] * 69 | Ic + fitlrc_rec$coef[1,1])) - fitlrc_rec$coef[3,1] 70 | } 71 | 72 | uniroot(Ic, c(0,50))$root 73 | 74 | # 根据饱和点定义,0.75最大光合速率为饱和点, 75 | # 也可以是其他比例 76 | # 据此利用uniroot求解方程的根 77 | 78 | Isat <- function(Isat){(fitlrc_rec$coef[2,1] * 79 | Isat * fitlrc_rec$coef[1,1]) * 80 | (1/(fitlrc_rec$coef[2,1] * Isat + 81 | fitlrc_rec$coef[1,1])) - fitlrc_rec$coef[3,1] - 82 | 0.75 * fitlrc_rec$coef[1,1] 83 | } 84 | # 求值区间根据具体实验确定 85 | 86 | uniroot(Isat, c(0,2500))$root 87 | 88 | 89 | # 使用ggplot2进行作图并拟合曲线 90 | library(ggplot2) 91 | 92 | light <- data.frame(lrc_Q = lrc$PARi, lrc_A = lrc$Photo) 93 | 94 | p <- ggplot(light, aes(x = lrc_Q, y = lrc_A)) 95 | 96 | p1 <- p + geom_point(shape = 16, size = 3, color = "green") + 97 | geom_smooth(method="nls", formula = y ~ (alpha * x * Am) * 98 | (1/(alpha * x + Am)) - Rd, se = FALSE, 99 | method.args = 100 | list(start = c(Am=(max(lrc_A)-min(lrc_A)), 101 | alpha=0.05,Rd=-min(lrc_A)), 102 | aes(x =lrc_Q, y = lrc_A, color='blue', size = 1.2)) 103 | ) + 104 | labs(y=expression(paste("photosynthetic rate ", 105 | "(", mu, mol%.%m^-2%.%s^-1, ")")), 106 | x=expression(paste("PAR ", 107 | "(", mu, mol%.%m^-2%.%s^-1, ")")) 108 | ) 109 | 110 | 111 | # 自定义坐标轴 112 | p1 + scale_x_continuous(breaks = seq(0, 2100, by = 200)) + 113 | scale_y_continuous(breaks= round(light$lrc_A)) + 114 | theme(axis.text.x = element_text( 115 | size = 10, angle=30, vjust=0.5), 116 | axis.text.y = element_text(size = 10), 117 | axis.title.x = element_text(size = 12, face = 'bold'), 118 | axis.title.y = element_text(size = 12, face = 'bold') 119 | ) 120 | ``` 121 | 122 | 代码目的见注释,其实现过程主要分三步: 123 | 124 | * 数据的导入,这与之前相同,具体格式方法参考前文 \ref{fitaci}。 125 | * 光响应曲线的拟合,使用到了非线性模型 nlsLM,也可以使用 nls,具体实现方法请查看参考文档。 126 | * 求饱和点和补偿点,补偿点的计算根据其定义,净光合速率为 0,求解模型在一定区间的根来计算,而饱和点则较为麻烦,若使用式 \@ref(eq:aqe) 127 | 计算,那么饱和点远远低于我们实际需求的,因此,我们使用了 0.75P$_{nmax}$ 来计算,求得目标区间的根。当然也可以采用其他比例来作为饱和点光合速率。 128 | 129 | 130 | 131 | ```{r, rectable, echo=FALSE} 132 | knitr::kable( 133 | fitlrc_rec$coef, booktabs = TRUE, 134 | caption = '直角双曲线计算参数' 135 | ) 136 | ``` 137 | 138 | 最终的数据拟结果如图 \@ref(fig:recr) 所示,拟合的参数及结果见表 \@ref(tab:rectable)。 139 | 140 | \cleardoublepage 141 | -------------------------------------------------------------------------------- /docs/libs/gitbook-2.6.7/js/plugin-sharing.js: -------------------------------------------------------------------------------- 1 | gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) { 2 | var SITES = { 3 | 'github': { 4 | 'label': 'Github', 5 | 'icon': 'fa fa-github', 6 | 'onClick': function(e) { 7 | e.preventDefault(); 8 | var repo = $('meta[name="github-repo"]').attr('content'); 9 | if (typeof repo === 'undefined') throw("Github repo not defined"); 10 | window.open("https://github.com/"+repo); 11 | } 12 | }, 13 | 'facebook': { 14 | 'label': 'Facebook', 15 | 'icon': 'fa fa-facebook', 16 | 'onClick': function(e) { 17 | e.preventDefault(); 18 | window.open("http://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href)); 19 | } 20 | }, 21 | 'twitter': { 22 | 'label': 'Twitter', 23 | 'icon': 'fa fa-twitter', 24 | 'onClick': function(e) { 25 | e.preventDefault(); 26 | window.open("http://twitter.com/intent/tweet?text="+encodeURIComponent(document.title)+"&url="+encodeURIComponent(location.href)+"&hashtags=rmarkdown,bookdown"); 27 | } 28 | }, 29 | 'linkedin': { 30 | 'label': 'LinkedIn', 31 | 'icon': 'fa fa-linkedin', 32 | 'onClick': function(e) { 33 | e.preventDefault(); 34 | window.open("https://www.linkedin.com/shareArticle?mini=true&url="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title)); 35 | } 36 | }, 37 | 'weibo': { 38 | 'label': 'Weibo', 39 | 'icon': 'fa fa-weibo', 40 | 'onClick': function(e) { 41 | e.preventDefault(); 42 | window.open("http://service.weibo.com/share/share.php?content=utf-8&url="+encodeURIComponent(location.href)+"&title="+encodeURIComponent(document.title)); 43 | } 44 | }, 45 | 'instapaper': { 46 | 'label': 'Instapaper', 47 | 'icon': 'fa fa-italic', 48 | 'onClick': function(e) { 49 | e.preventDefault(); 50 | window.open("http://www.instapaper.com/text?u="+encodeURIComponent(location.href)); 51 | } 52 | }, 53 | 'vk': { 54 | 'label': 'VK', 55 | 'icon': 'fa fa-vk', 56 | 'onClick': function(e) { 57 | e.preventDefault(); 58 | window.open("http://vkontakte.ru/share.php?url="+encodeURIComponent(location.href)); 59 | } 60 | }, 61 | 'whatsapp': { 62 | 'label': 'Whatsapp', 63 | 'icon': 'fa fa-whatsapp', 64 | 'onClick': function(e) { 65 | e.preventDefault(); 66 | var url = encodeURIComponent(location.href); 67 | window.open((isMobile() ? "whatsapp://send" : "https://web.whatsapp.com/send") + "?text=" + url); 68 | } 69 | }, 70 | }; 71 | 72 | function isMobile() { 73 | return !!navigator.maxTouchPoints; 74 | } 75 | 76 | gitbook.events.bind("start", function(e, config) { 77 | var opts = config.sharing; 78 | if (!opts) return; 79 | 80 | // Create dropdown menu 81 | var menu = _.chain(opts.all) 82 | .map(function(id) { 83 | var site = SITES[id]; 84 | if (!site) return; 85 | return { 86 | text: site.label, 87 | onClick: site.onClick 88 | }; 89 | }) 90 | .compact() 91 | .value(); 92 | 93 | // Create main button with dropdown 94 | if (menu.length > 0) { 95 | gitbook.toolbar.createButton({ 96 | icon: 'fa fa-share-alt', 97 | label: 'Share', 98 | position: 'right', 99 | dropdown: [menu] 100 | }); 101 | } 102 | 103 | // Direct actions to share 104 | _.each(SITES, function(site, sideId) { 105 | if (!opts[sideId]) return; 106 | 107 | gitbook.toolbar.createButton({ 108 | icon: site.icon, 109 | label: site.label, 110 | title: site.label, 111 | position: 'right', 112 | onClick: site.onClick 113 | }); 114 | }); 115 | }); 116 | }); 117 | -------------------------------------------------------------------------------- /docs/libs/gitbook-2.6.7/js/plugin-fontsettings.js: -------------------------------------------------------------------------------- 1 | gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) { 2 | var fontState; 3 | 4 | var THEMES = { 5 | "white": 0, 6 | "sepia": 1, 7 | "night": 2 8 | }; 9 | 10 | var FAMILY = { 11 | "serif": 0, 12 | "sans": 1 13 | }; 14 | 15 | // Save current font settings 16 | function saveFontSettings() { 17 | gitbook.storage.set("fontState", fontState); 18 | update(); 19 | } 20 | 21 | // Increase font size 22 | function enlargeFontSize(e) { 23 | e.preventDefault(); 24 | if (fontState.size >= 4) return; 25 | 26 | fontState.size++; 27 | saveFontSettings(); 28 | }; 29 | 30 | // Decrease font size 31 | function reduceFontSize(e) { 32 | e.preventDefault(); 33 | if (fontState.size <= 0) return; 34 | 35 | fontState.size--; 36 | saveFontSettings(); 37 | }; 38 | 39 | // Change font family 40 | function changeFontFamily(index, e) { 41 | e.preventDefault(); 42 | 43 | fontState.family = index; 44 | saveFontSettings(); 45 | }; 46 | 47 | // Change type of color 48 | function changeColorTheme(index, e) { 49 | e.preventDefault(); 50 | 51 | var $book = $(".book"); 52 | 53 | if (fontState.theme !== 0) 54 | $book.removeClass("color-theme-"+fontState.theme); 55 | 56 | fontState.theme = index; 57 | if (fontState.theme !== 0) 58 | $book.addClass("color-theme-"+fontState.theme); 59 | 60 | saveFontSettings(); 61 | }; 62 | 63 | function update() { 64 | var $book = gitbook.state.$book; 65 | 66 | $(".font-settings .font-family-list li").removeClass("active"); 67 | $(".font-settings .font-family-list li:nth-child("+(fontState.family+1)+")").addClass("active"); 68 | 69 | $book[0].className = $book[0].className.replace(/\bfont-\S+/g, ''); 70 | $book.addClass("font-size-"+fontState.size); 71 | $book.addClass("font-family-"+fontState.family); 72 | 73 | if(fontState.theme !== 0) { 74 | $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, ''); 75 | $book.addClass("color-theme-"+fontState.theme); 76 | } 77 | }; 78 | 79 | function init(config) { 80 | var $bookBody, $book; 81 | 82 | //Find DOM elements. 83 | $book = gitbook.state.$book; 84 | $bookBody = $book.find(".book-body"); 85 | 86 | // Instantiate font state object 87 | fontState = gitbook.storage.get("fontState", { 88 | size: config.size || 2, 89 | family: FAMILY[config.family || "sans"], 90 | theme: THEMES[config.theme || "white"] 91 | }); 92 | 93 | update(); 94 | }; 95 | 96 | 97 | gitbook.events.bind("start", function(e, config) { 98 | var opts = config.fontsettings; 99 | if (!opts) return; 100 | 101 | // Create buttons in toolbar 102 | gitbook.toolbar.createButton({ 103 | icon: 'fa fa-font', 104 | label: 'Font Settings', 105 | className: 'font-settings', 106 | dropdown: [ 107 | [ 108 | { 109 | text: 'A', 110 | className: 'font-reduce', 111 | onClick: reduceFontSize 112 | }, 113 | { 114 | text: 'A', 115 | className: 'font-enlarge', 116 | onClick: enlargeFontSize 117 | } 118 | ], 119 | [ 120 | { 121 | text: 'Serif', 122 | onClick: _.partial(changeFontFamily, 0) 123 | }, 124 | { 125 | text: 'Sans', 126 | onClick: _.partial(changeFontFamily, 1) 127 | } 128 | ], 129 | [ 130 | { 131 | text: 'White', 132 | onClick: _.partial(changeColorTheme, 0) 133 | }, 134 | { 135 | text: 'Sepia', 136 | onClick: _.partial(changeColorTheme, 1) 137 | }, 138 | { 139 | text: 'Night', 140 | onClick: _.partial(changeColorTheme, 2) 141 | } 142 | ] 143 | ] 144 | }); 145 | 146 | 147 | // Init current settings 148 | init(opts); 149 | }); 150 | }); 151 | 152 | 153 | -------------------------------------------------------------------------------- /12-6-jiptest.Rmd: -------------------------------------------------------------------------------- 1 | ## LI-6800 荧光数据分析 {#fluro68} 2 | 3 | LI-6800 能够直接提供基本的叶绿素荧光参数,其他参数均可通过这些基本的参数进行计算,计算也较简单,在此不赘述,需要注意的是快相荧光部分的数据,因为分析 ojip 数据的模型有很多,很多都需要复杂的计算,在此我们先将其中较为简单的 jip test 数据分析进行介绍。 4 | 5 | ### jip test 的实现 {#jiptest} 6 | 7 | LI-6800 增加了 ojip 曲线测量功能,本功能主要是针对测量数据的 jip test 的实现。 8 | 9 | ### `jiptest` 软件包安装 {#jiptest_pack} 10 | 11 | 请在 github 安装,有可能需要安装 `remotes` 12 | 13 | ```{r, eval=FALSE} 14 | install.packages("remotes") 15 | ``` 16 | 17 | 然后安装: 18 | 19 | ```{r, eval=FALSE} 20 | install_github("zhujiedong/jiptest") 21 | ``` 22 | 23 | 如果因为网络原因失败,可以转战 gitee: 24 | 25 | ```{r, eval=FALSE} 26 | install_git('https://gitee.com/zhu_jie_dong/jiptest') 27 | ``` 28 | 29 | 30 | ### `read_files` 及 `read_dcfiles` 函数 {#readfluor} 31 | 32 | `read_files` 用于批量读取所有调制光测量数据,方便用于其他的数据分析。**函数要求所有数据必须是 `xlsx` 格式,并且所有测量数据都保存在同一文件夹内。**,如有其他文件或测量数据则会报错。 33 | `read_dcfiles` 用于批量读取所有连续光测量数据,其他与 `read_dcfiles` 相同。例如我放在了 data文件夹下的 ojip 文件夹内,有五个数据文件。 34 | 35 | 函数仅有一个参数,即保存数据文件夹的路径,使用如下: 36 | 37 | ```{r, jipdata, message=FALSE} 38 | library(jiptest) 39 | jip_data<- read_files("data/ojip") 40 | ``` 41 | 42 | ```{r, dcjipdata, message=FALSE} 43 | jip_dcdata <- read_dcfiles("./data/ojip") 44 | ``` 45 | 46 | 调制光的信号前 10 行数据: 47 | 48 | ```{r, echo=FALSE, message=FALSE} 49 | knitr::kable(head(jip_data), booktabs = TRUE, 50 | caption = 'jiptest 批量导入数据后的样式') 51 | ``` 52 | 53 | 连续光的信号前 10 行数据: 54 | 55 | ```{r, echo=FALSE} 56 | knitr::kable(head(jip_dcdata), booktabs = TRUE, 57 | caption = 'jiptest DC 数据批量导入数据后的样式') 58 | ``` 59 | 60 | > 注:NORM_FLUOR 是标准化后的荧光信号数据,其中标准化采用的方式是 @stirbetChlorophyllFluorescenceInduction2012 所采用的:$F = \frac{F_t - F_o}{F_m - F_o}$,而曲线上部的面积则采用 @stirbetRelationKautskyEffect2011 的方式进行标准化,以方便不同叶片之间的比较,具体为 $area = \frac{area}{F_m - F_o}$ 61 | 62 | ### `jip_test` 及 `jip_dctest` 函数 {#testfluor} 63 | 64 | `jiptest` 是 jiptest 的核心函数,用于所有数据的 `jiptest` 分析,函数仅包一个参数,测量数据的保存文件夹路径。 65 | `jip_dctest` 与 `jip_test` 相似,用于连续光测量数据的分析。 66 | 67 | ```{r, jiptest, message=FALSE, warning=FALSE} 68 | actest <- jip_test("./data/ojip") 69 | ``` 70 | 71 | ```{r, dcjiptest, message=FALSE, warning=FALSE} 72 | dctest <- jip_dctest("./data/ojip") 73 | ``` 74 | 75 | 可以看出,对于标准化之后的参数,二者基本一致,原始信号则无法一致,因为连续光信号强度更高(所以数据的比较要在相同的测量光内进行): 76 | 77 | 调制光信号的计算参数: 78 | 79 | ```{r, jipres, echo=FALSE} 80 | names(actest) <- c("parameters", "data_file1", 81 | "data_file2", "data_file3", 82 | "data_file4", "data_file5") 83 | knitr::kable(head(actest), longtable = TRUE, booktabs = TRUE, 84 | caption = 'jiptest 输出的计算参数') 85 | ``` 86 | 87 | 连续光信号计算参数: 88 | 89 | ```{r, dcjipres, echo=FALSE} 90 | names(dctest) <- c("parameters", "data_file1", 91 | "data_file2", "data_file3", 92 | "data_file4","data_file5") 93 | knitr::kable(head(dctest), longtable = TRUE, booktabs = TRUE, 94 | caption = 'jiptest DC 数据输出的计算参数') 95 | ``` 96 | 97 | 计算参数见表 \@ref(tab:jipres) 及 \@ref(tab:dcjipres),考虑到排版,仅显示部分内容。若需要将数据导出,可以使用相关命令,如: 98 | 99 | ```{r, eval=FALSE} 100 | # export the results of jiptest to a csv file 101 | write.csv(actest, "d:/data/jip_resluts.csv") 102 | write.csv(dctest, "d:/data/dcjip_resluts.csv") 103 | ``` 104 | 105 | 106 | ### 图像查看函数 {#plotfluor} 107 | 108 | 之前的预览方式已经彻底从代码中删除,不在提供。如果仅仅是简单查看结果,那么我们直接用默认参数就好,作图的数据是之前导入的数据文件: 109 | 110 | 默认使用标准化的荧光信号(也就是除以最大值,标准化到 0~1 之间,LI-6800 在 1.4 之后的版本也提供了仪器上查看的界面)。 111 | 112 | #### 默认图形的方式 {#default-plot-jiptest} 113 | 114 | 1. 默认调制光图形 115 | 116 | ```{r, default-moulation-plot-ac, fig.cap="默认调制光图形查看"} 117 | plot(jip_data) 118 | ``` 119 | 120 | 2. 默认连续光图形 121 | 122 | ```{r, default-moulation-plot-dc, fig.cap="默认连续光图形查看"} 123 | plot(jip_dcdata) 124 | ``` 125 | 126 | 默认图形,仅仅查看结果是可以的,当然有些情况下需要进行调整才方便做展示用。 127 | 128 | #### 定制化图形的方式 {#customized-plot-jiptest} 129 | 130 | 这个是这次改动的重点之一,例如都使用原始信号分别做上面两幅图: 131 | 132 | 1. 定制调制光图形 133 | 134 | 这里使用原始荧光信号,然后更改图例颜色等,主要是 `add_leg = FALSE` 不增加默认的图例,以及 `normalized = FALSE` 不使用信号标准化。其他请参考帮助 `?plot.jip`。 我简单写了一下帮助文档,大家应该基本能看明白,我实在没时间。 135 | 136 | ```{r, cus-ac-plot-leg-cls, fig.cap="定制调制光图形示例"} 137 | cls <- palette.colors(n = 5, "set 2", alpha = 0.8) 138 | plot(jip_data, 139 | ylab = 'Normalized fluorescence signals', 140 | add_leg = FALSE, 141 | def_pch = 14:18, 142 | col = cls, 143 | main = "Demodulated signals", normalized = FALSE) 144 | 145 | legend( 146 | "topleft", 147 | unique(jip_data$SOURCE), 148 | col = cls, 149 | pch = 14:18, 150 | cex = 0.6, 151 | pt.cex = 1.2, 152 | bty = "n") 153 | ``` 154 | 155 | 2. 定制连续光图形 156 | 157 | 连续光图形,只改了两个地方,图例的位置以及不显示标准化的数据。 158 | 159 | ```{r, cus-dc-plot-leg-cls, fig.cap="定制连续光图形示例"} 160 | plot(jip_dcdata, legend_pos = "bottomright", normalized = FALSE) 161 | ``` 162 | 163 | **关于标准化和非标准化图形差异大的问题,这个比较简单,原始信号比较低的那条线,是不同物种的不同叶片,所以不具备比较价值,我只是数据测试。** 164 | 165 | --- 166 | 167 | **建议在开始分析数据前,使用如上方式作图查看数据质量,若使用调制光数据测量的荧光信号太弱,数据点太散,则可以使用连续光测量信号进行分析,对于归一化的荧光参数,二者几乎无差别,当然避免陷入被动的最好方式还是最开始测量时注意检查数据质量** 168 | 169 | \cleardoublepage 170 | -------------------------------------------------------------------------------- /01-2-batch-data.Rmd: -------------------------------------------------------------------------------- 1 | # 批量处理光合测定数据 {#batch_question} 2 | 3 | 对于多数人来讲,一个季节用光合仪测量的数据文件至少是两位数的,处理起来非常不方便,针对这个问题,简单写了一个批量读取 LI-6400 和 LI-6800 原始数据的包(因为现有的容易实现的读取 excel 格式的包还不支持 6800 和 6400 这种形式的公式计算)^[特别注意,原始数据可以用文本编辑器打开,但为了方便使用这个软件包,准确输入与行号相关的参数,建议您使用带行号显示的软件,例如 windows 下的 notepad++],使用非常简单,同时也适合处理未关闭数据文件而导致的无法生成 excel 格式的数据时的问题。 4 | 5 | ## 安装 {#install_readphoto} 6 | 7 | 暂时只有我的 github repo 中的版本: 8 | 9 | ```{r,eval=FALSE} 10 | devtools::install_github("zhujiedong/readphoto") 11 | ``` 12 | 13 | ## LI-6400 数据处理{#batch64} 14 | 15 | ### LI-6400 数据的整合{#6400combine} 16 | 17 | 基本参数如下: 18 | 19 | ```{r} 20 | library(readphoto) 21 | df64 <- read_bat_6400("./data/6400", header_line = 17, data_start = 27) 22 | ``` 23 | 24 | 数据输出如下所示(仅显示前8列数据): 25 | 26 | ```{r,echo=FALSE} 27 | knitr::kable(df64[1:15, 1:8], booktabs = TRUE, 28 | caption = 'LI-6400 批量整合数据') 29 | ``` 30 | 31 | 如果想另存为 csv 格式: 32 | 33 | ```{r, eval=FALSE} 34 | write.csv(df64, "./combined.csv") 35 | ``` 36 | 37 | header_line 表示你数据表头所在行,data_start 表示你数据起始行,Obs = 1 时所在行,不含表头。这个也要确认好了,不同的测量不能放在一起(当然一般不会出现这种情况,同一台仪器,处理数据当然是希望 aci 和 aci 在一起,lrc 和 lrc 在一起,调查测量和调查测量在一起),不同的测量可能起始行不同,这样就会报错,特别需要注意的是,目前路径写法仅支持 “/” 分隔,不能使用 “\\“ 作为分隔。例如在数据放在 D 盘的 6400 文件夹下,那么写法应为 "d:/6400", 不能为 **"d:\\6400"**, 尽管后者对 R 是合法的,主要是因为我要区分你不同数据来源的文件是哪个,也即下文提到的 `df$files` 列。 38 | 39 | 其中,数据的来源在表格中第一列,叫做 files,是数据来源的文件名(即你起的名字),例如本例中你看到的 aci 是我之前数据里面 aci 响应曲线的数据。 40 | 41 | 42 | 这些数据可以用于后文相关的分析中,尤其是像 `fitacis` 这样的函数,因为本质上他们都是符合 `tidyverse` 样式的数据。 43 | 44 | 45 | ### LI-6400 数据重计算 {#recompute6400} 46 | 47 | 参数的重计算函数为 `recomp_6400`, 其参数除了 `read_bat_6400` 所包含的参数外,还有叶面积 S, 以及叶片正反面的气孔比例,默认值分别为 6 和 0.5。 48 | 49 | ```{r} 50 | library(readphoto) 51 | x1 <- read_bat_6400("./data/6400") 52 | y1 <- recomp_6400("./data/6400", header_line = 17, data_start = 27, S = 6, K = 0.5) 53 | 54 | x1$Photo - y1$Photo 55 | x1$Trmmol - y1$Trmmol 56 | x1$Cond - y1$Cond 57 | x1$Ci-y1$Ci 58 | 59 | # half of original the area 60 | y1 <- recomp_6400("./data/6400", header_line = 17, data_start = 27, S = 3, K = 0.5) 61 | y1$Photo/x1$Photo 62 | 63 | # test with random area less than six 64 | area <- 6 - runif(32, 1, 3) 65 | y1 <- recomp_6400("./data/6400", header_line = 17, data_start = 27, S = area, K = 0.5) 66 | y1$Photo/x1$Photo 67 | ``` 68 | 69 | 我们看到各个值之差非常小,因为我们使用的是相同的叶面积,理论上这两次读数的差异应为 0, 但在实际计算过程中,有小数点位数的影响,所以某些值不完全为 0,但该差值足够小。我们将所有的数据叶面积减半后,二者比值也约等于 2. 70 | 71 | 72 | ## LI-6800 数据的处理 {#6800data} 73 | 74 | LI-6800 的数据我们可以直接处理 Excel 即可,读取我这里有两种方案,一种是 `R` 读取方案,一种是 `python` 读取方案,之所以这么复杂,是因为 LI-6800 的 Excel 格式较为复杂,不被常用的软件包所支持。我们分开来看两种方式: 75 | 76 | ### R 下 Excel 格式读取的重计算 {##6800xlconnect} 77 | 78 | 偶然发现了 `XLConnect` 软件包的一个功能(以前知道这个软件包,但忽视了),那就是直接读取 LI-6800 Excel 格式的数据并重计算,我将其写成了函数,放在了我的 readphoto 软件包里,软件包的安装: 79 | 80 | ```{r, eval=FALSE} 81 | remotes::install_github("zhujiedong/readphoto") 82 | ``` 83 | 84 | 85 | 当然,最近连我自己安装 github 的软件包都经常出问题,如果大家同样遇到问题,可以按照下面的方式安装: 86 | 87 | ```{r, eval=FALSE} 88 | remotes::install_git("https://gitee.com/zhu_jie_dong/readphoto") 89 | ``` 90 | 91 | 92 | 其中: 93 | 94 | * path 是 Excel 文件的路径; 95 | 96 | * start_row 是数据开始的行号; 97 | 98 | * S 为修改的叶面积,默认值为 6,如果叶面积无需更改,则使用默认的 NULL。如果使用 aperture 更改了面积,且叶片能够充满叶室,比方说是 2 $cm^2$,该值必须输入一个长度和测量值数量完全一致的向量,例如有 3 个测量值,我们输入 S 的长度则为 3,例如,一共有三个测量值,只有第一个叶片没充满叶室,面积为 1.5,其他的为 2,则输入方式为 S = c(1.5, 2, 2)。 99 | 100 | 我们直接使用下面的例子解释,导入的数据是 6 cm2 的默认面积: 101 | 102 | ```{r} 103 | library(readphoto) 104 | 105 | df6 <- xlconnect_read("./data/aci-xlc.xlsx") 106 | df6$A 107 | 108 | 109 | df3 <- xlconnect_read("./data/aci-xlc.xlsx", S = rep(3, 12)) 110 | df6$A/df3$A 111 | 112 | 113 | df_random <- xlconnect_read("./data/aci-xlc.xlsx", S = rnorm(12, 3, 0.1)) 114 | df6$A/df_random$A 115 | 116 | ``` 117 | 118 | 光合速率的倍数的变化在预期之内。 119 | 120 | ### 使用 Python 来处理 {#python} 121 | 122 | 本节内容与题目不符,不过大家也不用担心,我提供了一个图形界面来操作,可以将所有文件批量处理为 `csv` 格式。 123 | 124 | python 方案见链接:[github](https://github.com/zhujiedong/LI6800_excel2csv) 或 [微信](https://mp.weixin.qq.com/s?__biz=MzU4ODI3NjkzMg==&mid=2247485489&idx=2&sn=9aed981d7624c8e289cb9173c269373a&chksm=fdde7d9acaa9f48c3dc0d09324d0461b18b4edd4ff56207de54b5152cbfe4a97fdc482b31b82&token=101697346&lang=zh_CN#rd) 125 | 126 | ### 批量处理 csv 文件 {#python-r-batch} 127 | 128 | 如果还是比习惯用 `R`,我们来处理上面的 `csv` 文件即可。其实没什么特别的,就是需要批量导入后添加一个分组标签即可。以下为示例: 129 | 130 | ```{r} 131 | files_csv <- list.files("./data/csvdata", full.names = TRUE) 132 | files_csv 133 | 134 | add_remark <- function(path){ 135 | df <- read.csv(path) 136 | df$remarks <- gsub(".csv", "", basename(path)) 137 | return(df) 138 | } 139 | 140 | list_csv <- lapply(files_csv, add_remark) 141 | 142 | df_remark <- do.call(rbind, list_csv) 143 | 144 | n <- ncol(df_remark) 145 | head(df_remark[,(n-3):n]) 146 | tail(df_remark[,(n-3):n]) 147 | 148 | ``` 149 | 150 | 到此为止已经整理为所谓的 `tidy data` 了,用 `tidyverse` 也好,用 `base` 语法也好,总之是比较容易处理的数据了,例如上面其实是 `RACiR` 数据了,有两个,那么当然可以使用 `plantecophys::fitacis` 来一条命令搞定所有数据的拟合了。 151 | 152 | 这里需要注意的是使用 `xlconnect_read` 也可以使用类似的操作,但我觉得不如这种方法省事,故而只列出来这一种,有需要的也可以按照类似方法处理即可。 153 | 154 | 155 | \cleardoublepage 156 | -------------------------------------------------------------------------------- /05-coupled.Rmd: -------------------------------------------------------------------------------- 1 | # 光合气孔导度耦合模型 {#photo_stomo} 2 | 3 | @Duursma2015Plantecophys 对于气体交换耦合模型的简述如下 ^[详细内容请参考原文]: 4 | 5 | * 对于 FvCB 模型有: 6 | 7 | \begin{equation} 8 | A_n = min(A_c, A_j)-R_d 9 | (\#eq:minfvcb) 10 | \end{equation} 11 | 12 | * 在假定 gm 为恒定的前提下: 13 | 14 | \begin{equation} 15 | C_c = C_i - \frac{A_n}{g_m} 16 | (\#eq:cgm) 17 | \end{equation} 18 | 19 | * 根据 Ficker 定理 20 | 21 | \begin{equation} 22 | A_n = \frac{g_s}{1.6}(C_a - C_i) 23 | (\#eq:ficker) 24 | \end{equation} 25 | 26 | 以及前文 \@ref(ballberry) 提到的气孔导度模型 27 | 28 | \begin{equation} 29 | g_s = g_0 + g_1 \frac{A_n}{C_a} f(D) 30 | (\#eq:driver) 31 | \end{equation} 32 | 33 | 整合公式 \@ref(eq:minfvcb), \@ref(eq:cgm), \@ref(eq:ficker) 和 \@ref(eq:driver),气体交换耦合模型有很多更大尺度上的应用,例如 @Duursma2012MAESPA 和 wang1998a,可用于预测 An,gs 和蒸腾速率对主要环境驱动因子的响应(除土壤水分),并包含了主要的叶片性状(g1,V~cmax~, J~max~, R~d~ 以及他们的温度依赖性)。 34 | 35 | ## `Photosyn` 函数 {#photosyn} 36 | 37 | Photosyn 为耦合的光合–气孔导度模型,基于 Farquhar 光合模型和 Ball-Berry 气孔导度模型。 38 | 39 | ```{r, eval=FALSE} 40 | Photosyn(VPD = 1.5, Ca = 400, PPFD = 1500, 41 | Tleaf = 25, Patm = 100,RH = NULL, 42 | gsmodel = c("BBOpti", "BBLeuning", 43 | "BallBerry", "BBdefine"), 44 | g1 = 4, g0 = 0, gk = 0.5, vpdmin = 0.5, 45 | D0 = 5, GS = NULL, BBmult = NULL, 46 | alpha = 0.24, theta = 0.85, Jmax = 100, 47 | Vcmax = 50, gmeso = NULL, TPU = 1000, 48 | alphag = 0, Rd0 = 0.92, Q10 = 1.92, 49 | Rd = NULL, TrefR = 25, Rdayfrac = 1, 50 | EaV = 82620.87, EdVC = 0, delsC = 645.1013, 51 | EaJ = 39676.89, EdVJ = 2e+05, delsJ = 641.3615, 52 | GammaStar = NULL, Km = NULL, Ci = NULL, 53 | Tcorrect = TRUE,returnParsOnly = FALSE, 54 | whichA = c("Ah", "Amin", "Ac", "Aj")) 55 | 56 | Aci(Ci, ...) 57 | ``` 58 | 59 | 因为是光合气孔导度模型的耦合,故而参数与之前的函数相同,参见 \@ref(fitaci-p) 和 \@ref(fitbb-p) 部分的内容。 60 | 61 | ### `Photosyn` 使用举例 {#photo_exam} 62 | 63 | ```{r, vpd, fig.cap="VPD VS. An"} 64 | library(plantecophys) 65 | # 仅使用下面几个参数运行模型 66 | #(其他参数使用默认值) 67 | # 利用已测量或计算的参数 68 | Photosyn(VPD=2, g1=4, Ca=500) 69 | 70 | # 部分参数相同,而某一参数或某几个参数不同时, 71 | # 可以将不同的参数设置为一个序列(vectors) 72 | r <- Photosyn(VPD=seq(0.5, 4, length=25), 73 | Vcmax=50, Jmax=100) 74 | with(r, plot(VPD, ALEAF, type='l')) 75 | ``` 76 | 77 | 不同 VPD 下的光合速率见 \@ref(fig:vpd)。 78 | 79 | ```{r, ppfd, fig.cap="PPFD VS. GS"} 80 | # 设定叶肉导度的拟合 81 | run1 <- Photosyn(PPFD=seq(50,1000,length=25), 82 | gmeso=0.15, Vcmax=40, Jmax=85) 83 | with(run1, plot(PPFD, GS, type='l')) 84 | 85 | # 运行ACi曲线数据(提供Ci值而不是计算) 86 | arun1 <- Aci(Ci=seq(50, 1200, length=101), 87 | Vcmax=40, Jmax=85) 88 | arun2 <- Aci(Ci=seq(50, 1200, length=101), 89 | Vcmax=30, Jmax=70) 90 | with(arun1, plot(Ci, ALEAF, type='l')) 91 | with(arun2, points(Ci, ALEAF, type='l', lty=5)) 92 | ``` 93 | 94 | 不同 ci 下的光合速率见 \@ref(fig:ppfd)。 95 | 96 | ```{r, supply, fig.cap="supply VS. demand"} 97 | # 找出CO2需求和供给的交叉点 98 | # 设定部分参数 99 | gs <- 0.2 # 对水的气孔导度 100 | Ca <- 400 # 外部CO2 101 | gctogw <- 1.57 # 转换系数 102 | gc <- gs / gctogw # 对 CO2 的气孔导度 103 | # 需求曲线 104 | p <- Aci(seq(60,500,length=101), Ca=400) 105 | # 提供气孔导度及交叉点 106 | g <- Photosyn(GS=gs, Ca=Ca) 107 | # 交叉点可视化 108 | par(yaxs="i") 109 | with(p, plot(Ci, ALEAF, type='l', 110 | ylim=c(0,max(ALEAF)))) 111 | with(g, points(Ci, ALEAF, pch=19, col="red")) 112 | abline(gc * Ca, -gc, lty=5) 113 | legend("topleft", c(expression( 114 | "Demand:"~~A==f(C[i])), 115 | expression("Supply:"~~A==g[c]*(C[a]-C[i])), 116 | "Operating point"), 117 | lty=c(1,5,-1),pch=c(-1,-1,19), 118 | col=c("black","black","red"), 119 | bty='n', cex=0.9) 120 | ``` 121 | 122 | 需求与供给的作图 \@ref(fig:supply)。 123 | 124 | ## `PhotosynEB` 函数 {#photsyneb} 125 | 126 | 使用同 `Photosyn`,只不过使用能量平衡法来计算叶温。 127 | 目前版本尚存在bug,不能直接提供 GS 来计算,否则会出现未知错误。 128 | 129 | ## `PhotosynTuzet` 函数 {#photosyntuzet} 130 | 131 | 同样为光合气孔导度耦合模型,只不过基于 @tuzet2003a 的气孔导度模型,现将其描述如下: 132 | 133 | \begin{equation} 134 | g_{co2} = g_0 + \frac{a A}{C_i - \Gamma} f_{\Psi v} 135 | (\#eq:tuzet) 136 | \end{equation} 137 | 138 | 其中 g~co2~ 为对 CO~2~ 的气孔导度, g~0~ 是残余导度(residual conductance)(在补偿点时限制 g~CO2~ 的值), A 为光合速率,C~i~ 为胞间二氧化碳浓度,$\Gamma$ 为 CO~2~ 补偿点,a 是经验系数。 139 | 140 | 一个根据经验的逻辑方程用于描述气孔对水势的敏感性: 141 | 142 | \begin{equation} 143 | f_{\Psi v} = \frac{1 + exp(s_f \Psi_f)}{1 + exp(s_f(\Psi_f - \Psi_v))} 144 | (\#eq:ftuzet) 145 | \end{equation} 146 | 147 | $\Psi_v$ 是指叶片水势,$\Psi_f$ 是参比势能, 该方程假设在水势接近于 0 时,气孔对叶片水势不敏感,并且气孔随着 $\Psi_v$ 的下降快速关闭。$\Psi_f$ 和 $s_f$ (曲线形状参数) 依赖于不同物种的形态学适应以及生长过程中所处的环境。 148 | 149 | ### `PhotosynTuzet` 的参数 {#photosyntuzet_para} 150 | 151 | 除 @tuzet2003a 模型中使用的参数外,其他参数都继承了 `Photosyn` 的参数 152 | 153 | ```{r, eval=FALSE} 154 | PhotosynTuzet(g1 = 8, Ca = 400, psis = 0, 155 | kl = 2, sf = 3, psif = -2, 156 | ...) 157 | ``` 158 | 159 | * g1:斜率参数,要远比 `fitBB` 中的大。 160 | * Ca:外界大气 CO~2~ 浓度 161 | * psis,土壤水势(Mpa)。 162 | * kl:Leaf-specific hydraulic conductance(叶片导水参数 ($mmol \cdot m^{-2} \cdot s^{-1} \cdot MPa^{-1}$),叶片蒸腾量、叶片面积及叶片水势计算)。 163 | * sf:曲线形状参数。 164 | * 在气孔导度为最大值 50% 时的叶片水势。 165 | 166 | \cleardoublepage 167 | -------------------------------------------------------------------------------- /bookdown.lof: -------------------------------------------------------------------------------- 1 | \addvspace {10\p@ } 2 | \contentsline {figure}{\numberline {1.1}{\ignorespaces Rstudio 界面及功能\relax }}{2}{figure.caption.6}% 3 | \addvspace {10\p@ } 4 | \addvspace {10\p@ } 5 | \contentsline {figure}{\numberline {3.1}{\ignorespaces 光合速率的不同的限制阶段\relax }}{14}{figure.caption.8}% 6 | \contentsline {figure}{\numberline {3.2}{\ignorespaces 光合速率的不同的限制阶段\relax }}{30}{figure.caption.9}% 7 | \contentsline {figure}{\numberline {3.3}{\ignorespaces fitacis作图结果\relax }}{36}{figure.caption.12}% 8 | \contentsline {figure}{\numberline {3.4}{\ignorespaces fitacis作图结果\relax }}{37}{figure.caption.13}% 9 | \contentsline {figure}{\numberline {3.5}{\ignorespaces C4 植物 A-Ci 作图\relax }}{40}{figure.caption.14}% 10 | \addvspace {10\p@ } 11 | \addvspace {10\p@ } 12 | \addvspace {10\p@ } 13 | \contentsline {figure}{\numberline {6.1}{\ignorespaces VPD VS. An\relax }}{52}{figure.caption.15}% 14 | \contentsline {figure}{\numberline {6.2}{\ignorespaces PPFD VS. GS\relax }}{52}{figure.caption.16}% 15 | \contentsline {figure}{\numberline {6.3}{\ignorespaces PPFD VS. GS\relax }}{53}{figure.caption.17}% 16 | \contentsline {figure}{\numberline {6.4}{\ignorespaces supply VS. demand\relax }}{54}{figure.caption.18}% 17 | \addvspace {10\p@ } 18 | \addvspace {10\p@ } 19 | \contentsline {figure}{\numberline {8.1}{\ignorespaces 直角双曲线模型拟合\relax }}{63}{figure.caption.19}% 20 | \contentsline {figure}{\numberline {8.2}{\ignorespaces 非直角双曲线模型拟合\relax }}{68}{figure.caption.21}% 21 | \contentsline {figure}{\numberline {8.3}{\ignorespaces 指数模型拟合\relax }}{71}{figure.caption.23}% 22 | \contentsline {figure}{\numberline {8.4}{\ignorespaces 直角双曲线修正模型拟合\relax }}{76}{figure.caption.25}% 23 | \addvspace {10\p@ } 24 | \contentsline {figure}{\numberline {9.1}{\ignorespaces 初步判断 alpha 的初始值\relax }}{81}{figure.caption.27}% 25 | \contentsline {figure}{\numberline {9.2}{\ignorespaces 初修正后断 alpha 的初始值\relax }}{82}{figure.caption.28}% 26 | \contentsline {figure}{\numberline {9.3}{\ignorespaces 检验作图法的初始值判断\relax }}{84}{figure.caption.29}% 27 | \contentsline {figure}{\numberline {9.4}{\ignorespaces 多个 alpha 取值的差异\relax }}{85}{figure.caption.30}% 28 | \contentsline {figure}{\numberline {9.5}{\ignorespaces 两种方法结果的对比展示\relax }}{89}{figure.caption.31}% 29 | \addvspace {10\p@ } 30 | \contentsline {figure}{\numberline {10.1}{\ignorespaces (\#fig:adyn\_plot)使用 Adyn 来进行RACiR 的直接测量数据\relax }}{98}{figure.caption.32}% 31 | \contentsline {figure}{\numberline {10.2}{\ignorespaces Anet VS. Cc\relax }}{110}{figure.caption.33}% 32 | \contentsline {figure}{\numberline {10.3}{\ignorespaces Anet VS. Ci\relax }}{111}{figure.caption.34}% 33 | \contentsline {figure}{\numberline {10.4}{\ignorespaces Aapparent VS. Cc\relax }}{113}{figure.caption.35}% 34 | \contentsline {figure}{\numberline {10.5}{\ignorespaces Aapparent VS. Ci\relax }}{114}{figure.caption.36}% 35 | \contentsline {figure}{\numberline {10.6}{\ignorespaces 基于 Ci 的不同延时下的截距\relax }}{121}{figure.caption.37}% 36 | \contentsline {figure}{\numberline {10.7}{\ignorespaces 基于 Ci 的不同延时下的斜率变化\relax }}{122}{figure.caption.38}% 37 | \contentsline {figure}{\numberline {10.8}{\ignorespaces 基于 Cc 的不同延时下的时间\relax }}{129}{figure.caption.39}% 38 | \contentsline {figure}{\numberline {10.9}{\ignorespaces 基于 Cc 的不同延时下的截距\relax }}{141}{figure.caption.40}% 39 | \contentsline {figure}{\numberline {10.10}{\ignorespaces Rubisco 不同失活程度时 Anet VS Cc\relax }}{146}{figure.caption.41}% 40 | \contentsline {figure}{\numberline {10.11}{\ignorespaces Rubisco 不同失活程度时 Anet VS Ci\relax }}{147}{figure.caption.42}% 41 | \contentsline {figure}{\numberline {10.12}{\ignorespaces Rubisco 不同失活程度时 Aapp VS Cc\relax }}{149}{figure.caption.43}% 42 | \contentsline {figure}{\numberline {10.13}{\ignorespaces Rubisco 不同失活程度时 Aapp VS Ci\relax }}{150}{figure.caption.44}% 43 | \contentsline {figure}{\numberline {10.14}{\ignorespaces 不同 Ci 扩散限制下的差异\relax }}{183}{figure.caption.45}% 44 | \contentsline {figure}{\numberline {10.15}{\ignorespaces 不同 Ci 扩散限制下的差异(resistance = 11)\relax }}{185}{figure.caption.46}% 45 | \contentsline {figure}{\numberline {10.16}{\ignorespaces 不同总导度下的各个导度的速率变化\relax }}{186}{figure.caption.47}% 46 | \contentsline {figure}{\numberline {10.17}{\ignorespaces 不同阻力下的各个导度的速率变化预测值\relax }}{187}{figure.caption.48}% 47 | \contentsline {figure}{\numberline {10.18}{\ignorespaces 不同时间滞后性的 Anet VS Ci\relax }}{195}{figure.caption.49}% 48 | \contentsline {figure}{\numberline {10.19}{\ignorespaces 不同总阻力下的 Anet VS Ci\relax }}{199}{figure.caption.50}% 49 | \contentsline {figure}{\numberline {10.20}{\ignorespaces 不同导度下的 A VS Ci\relax }}{202}{figure.caption.51}% 50 | \contentsline {figure}{\numberline {10.21}{\ignorespaces 不同总导度下的各个导度的变化\relax }}{204}{figure.caption.52}% 51 | \contentsline {figure}{\numberline {10.22}{\ignorespaces Rubisco不同失活程度下的下 A VS Ci\relax }}{207}{figure.caption.53}% 52 | \contentsline {figure}{\numberline {10.23}{\ignorespaces 默认调制光图形查看\relax }}{213}{figure.caption.56}% 53 | \contentsline {figure}{\numberline {10.24}{\ignorespaces 默认连续光图形查看\relax }}{214}{figure.caption.57}% 54 | \contentsline {figure}{\numberline {10.25}{\ignorespaces 定制调制光图形示例\relax }}{215}{figure.caption.58}% 55 | \contentsline {figure}{\numberline {10.26}{\ignorespaces 定制连续光图形示例\relax }}{216}{figure.caption.59}% 56 | \addvspace {10\p@ } 57 | \contentsline {figure}{\numberline {11.1}{\ignorespaces 根据 LAI 权重求和来计算大叶模型的参数\relax }}{218}{figure.caption.60}% 58 | \contentsline {figure}{\numberline {11.2}{\ignorespaces 假定不同物种组成下的模型结果\relax }}{219}{figure.caption.61}% 59 | \addvspace {10\p@ } 60 | \contentsline {figure}{\numberline {12.1}{\ignorespaces 数据的中心化\relax }}{223}{figure.caption.62}% 61 | \contentsline {figure}{\numberline {12.2}{\ignorespaces PC1 的诞生\relax }}{223}{figure.caption.63}% 62 | \contentsline {figure}{\numberline {12.3}{\ignorespaces 变异最大的极端情况\relax }}{224}{figure.caption.64}% 63 | \contentsline {figure}{\numberline {12.4}{\ignorespaces PC2 的诞生\relax }}{224}{figure.caption.65}% 64 | \contentsline {figure}{\numberline {12.5}{\ignorespaces iris 碎石图\relax }}{226}{figure.caption.66}% 65 | \contentsline {figure}{\numberline {12.6}{\ignorespaces iris 载荷图\relax }}{226}{figure.caption.67}% 66 | \contentsline {figure}{\numberline {12.7}{\ignorespaces iris 得分图\relax }}{227}{figure.caption.68}% 67 | \addvspace {10\p@ } 68 | -------------------------------------------------------------------------------- /02-1-fvcb-theory.Rmd: -------------------------------------------------------------------------------- 1 | # CO~2~ 响应曲线的拟合 {#response_fit} 2 | 3 | ## FvCB 模型 {#fvcb_mod} 4 | 5 | 在 `plantecophys` 包中使用的模型为 @Farquhar1980A 建立的 C3 植物模型 FvCB,其基于 C3 植物碳反应的三个阶段: 6 | 7 | * 核酮糖-1,5-双磷酸羧化酶/加氧酶 (Rubisco)的催化下, 核酮糖-1,5-双磷酸(RuBP)与 CO~2~发生羧化作用, 生成3-磷酸甘油酸(PGA)。 8 | 9 | * 在腺苷三磷酸(ATP)和还原型烟酰胺腺嘌呤 二核苷酸磷酸(NADPH)的作用下, PGA被还原成磷 酸丙糖(TP)。每6个TP中有1个输出到细胞液中, 10 | 用 于蔗糖或者淀粉的合成。 11 | 12 | * 剩下的5个TP 在ATP的作用下再生为 3 个RuBP。一部分再生的 RuBP在Rubisco的催化下被氧化成PGA和2-磷酸乙 醇酸, 13 | 2-磷酸乙醇酸在ATP的作用下形成PGA, 并且 释放CO~2~ (光呼吸)。 14 | 15 | 在光照下, C3 植物净光合速率 (A) 取决于 3 个同时存在的速率: RuBP羧化速率(Vc)、RuBP氧化速率 (或光呼吸速率, 16 | Vo)和线粒体在光照下的呼吸速率 (或明呼吸速率, Rd; 此名为了与暗呼吸速率对应和区分)。RuBP氧化过程中每结合1 mol 17 | O~2~ 就会释放 0.5 mol CO~2~ 。因此, 净光合速率 A 的计算为: 18 | 19 | ```{r, fvcb, out.width='100%', fig.cap = "光合速率的不同的限制阶段", echo = FALSE} 20 | knitr::include_graphics("images/fvcb.png") 21 | ``` 22 | 23 | \begin{equation} 24 | A\ =V_{c}\ -0.5V_{o}\ -\ R_{d} 25 | (\#eq:aeta) 26 | \end{equation} 27 | 28 | 线粒体Rd不同于暗呼吸速率(Rn )。Rn是叶片在 黑暗中的线粒体呼吸速率, 随着光照的增加, 线粒体呼吸速率下降。因此 Rd < 29 | Rn 在黑暗条件下测定的叶 片 CO~2~ 交换速率即 Rn , 但是 Rd 的测定比较困难, 因为光照条件下 Rd 与 30 | Vc、Vo 同时存在。@Hikosaka2006Temperature 总结了几种测定 31 | Rd 的方法,式 \@ref(eq:aeta) 又可表达为: 32 | 33 | \begin{equation} 34 | A\ =V_{c}\ (1\ -0.5\alpha)\ R_{d} 35 | (\#eq:achange) 36 | \end{equation} 37 | 38 | 式 \@ref(eq:achange) 中 $\alpha$ 为氧化速率和羧化速率的比值,由 Rubisco 动力学常数确定: 39 | 40 | \begin{equation} 41 | \begin{split} 42 | \alpha & =\frac{V_{O}}{V_{C}}\\ 43 | & = \frac{O}{C_c} \times \frac{V_{omax} K_c}{V_{cmax}K_{o}}\\ 44 | & = \frac{O}{C_{c}} \times \frac{1}{S_{\frac{c}{o}}} 45 | \end{split} 46 | (\#eq:dynamic) 47 | \end{equation} 48 | 49 | 式 \@ref(eq:dynamic) 中,Cc 和 O 分别为叶绿体部位 CO~2~ 和 O~2~ 浓度。Cc 和 50 | O 通常以气体摩尔分数 ($\mu mol\text{·}mol^{-1}$ ) 或分压 (Pa) 表示, 但光合过程是在叶绿体的液相基质中发生的, 51 | 用分压表示更加恰当。Kc 与 Ko 为 Rubisco 羧化(氧化)的米氏常数, 代表了羧化(氧化)速率达到最大羧化(氧化)速率一半时的 52 | CO~2~ 和 $O_{2}$ 浓度。是 Rubisco 特异性因子, $S_{\frac{c}{o}}$表示 Rubisco 53 | 对CO~2~ 和 $O_{2}$ 的偏好程度。 54 | 55 | 当 A = Rd , 即 RuBP 羧化的 CO~2~ 吸收速率刚好 等于 RuBP 氧化的 CO~2~ 释放速率 56 | (Vc = 2Vo,羧化时 CO~2~ 提供的为 CO ) 时, $\alpha$ = 0.5。此时叶绿体的 CO~2~ 浓度就是叶绿体 CO~2~ 57 | 光合补偿点, 标记为 $\Gamma^{*}$。即: 58 | 59 | \begin{equation} 60 | \Gamma^{*}\ =\ \frac{0.5O}{S_{\frac{c}{o}}} 61 | (\#eq:com) 62 | \end{equation} 63 | 64 | 由公式 \@ref(eq:dynamic)和公式 \@ref(eq:com)可得: 65 | 66 | \begin{equation} 67 | \alpha =\frac{2\Gamma^{*}}{C_{c}} 68 | (\#eq:combine) 69 | \end{equation} 70 | 71 | 代入公式 \@ref(eq:achange) 得到: 72 | 73 | \begin{equation} 74 | A\ =V_{c}\ (1\ -\frac{\Gamma^{*}}{C_{c}})\ R_{d} 75 | (\#eq:combine2) 76 | \end{equation} 77 | 78 | 在 Cc 浓度很低的时候,RuBP 供应充足 (图 \@ref(fig:fvcb) Rubisco 阶段),Vc 等于 Rubisco 79 | 所能支持的羧化速率 w~c~,: 80 | 81 | \begin{equation} 82 | w_{c}\ =\ \frac{V_{cmax\ }C_{c}}{C_{c\ }+\ K_{c\ }(1\ +\ \frac{O}{K_{o}})} 83 | (\#eq:wc) 84 | \end{equation} 85 | 86 | 随着 Cc 浓度的增加,Rubisco 支持的羧化速率超过了 RuBP 供应速率, Vc 受 RuBP 再生速率的限制(图 \@ref(fig:fvcb) 87 | RuBP 阶段),此时 Vc 由 RuBP 的再生速率限制,而 RuBP 又由电子传递速率(J)决定,故: 88 | 89 | \begin{equation} 90 | w_{j}\ =\ \frac{J\ C_{c}}{4C_{c\ }+\ 8\Gamma^{*}} 91 | (\#eq:wj) 92 | \end{equation} 93 | 94 | 当 Cc 浓度很高,光合磷酸化超过了淀粉和蔗糖的合成速率的时候,Vc 受到 TP 利用速率(Vp)的限制(图 \@ref(fig:fvcb) 95 | TPU 阶段),一般情况下, 96 | 97 | \begin{equation} 98 | w_{p\ }=\ \frac{3V_{p}C_{c}}{C_{c}-\Gamma^{*}} 99 | (\#eq:wp) 100 | \end{equation} 101 | 102 | 最终,C3 植物叶片的光合速率 A 由 w~c~、w~j~、w~p~ 103 | 的最小者决定(图 \@ref(fig:fvcb) 实现部分),当c > $\Gamma^{*}$时: 104 | 105 | \begin{equation} 106 | A=min\{w_{c},w_{j,}w_{p}\}(1-\frac{\Gamma^{*}}{C_{c}})-R_{d} 107 | (\#eq:fvcbfin) 108 | \end{equation} 109 | 110 | 111 | ## CO~2~ 响应曲线测量的注意事项 {#co2_note} 112 | 113 | 尽管上文对其分段性做了数学上的解释,相比来讲,不是那么通俗易懂,根据 @matthew2018 文章中的内容,我们后面两小节的内容对其进行概述: 114 | 115 | ### 分段性 {#model_3} 116 | 117 | 与光响应曲线不同, A/Ci 曲线是分段的,这也增加了其复杂性,在其最初阶段,$CO_2$ 浓度较低,在此阶段, Rubisco 更多的与 $O_2$ 结合,因此,即使是较小浓度的 $CO_2$ 的增加,也会显著提高羧化速率,我们将此阶段称之为 $CO_2$ (@Wullschleger1993Biochemical) 限制或 Rubisco 限制 (@Long2003Gas)。净光合速率 A 与 Ci 在此阶段斜率比较陡峭,实践中往往利用计算该斜率来计算 $V_{cmax}$。 118 | 119 | 在较高的 $CO_2$ 浓度下,曲线斜率开始便的平缓,作为底物的 $CO_2$ 已经不在是限制因素,随着羧化速率达到最大,RUBP 的量成为了其限制因素,而 RUBP 的再生速率受最大电子传递速率 $J_{max}$ 的限制。此时曲线的弯曲点由 $V_{cmax}$ 限制转变为 $J_{max}$,许多研究中将饱和光下和 $CO_2$ 浓度下测量的光合速率称之为做大光合速率(@heath2005rising)。而另一些研究中将最大光合速率定义为外界 $CO_2$ 时,在饱和光强下达到的最大光合速率(@marshall1980a)。这些术语上的差别需要注意。 120 | 121 | 在之后,有可能继续观测到磷酸盐限制 RUBP 再生的情况,导致光合速率的下降。因为此时大量的磷酸丙糖与正磷酸盐结合,导致 ATP 合成受限制(@ellsworth2015phosphorus)。这就是 TPU 限制阶段。 122 | 123 | ### 测量注意事项 {#note_detail} 124 | 125 | 尽管您的操作是严格按照说明书操作的,但说明书是指仪器的正确操作方式,无法对所有测量都采用相同设置,要获得好的测量结果,有更多的因素需要注意: 126 | 127 | 使用 LI-6400 或 LI-6800 测量 A/Ci 曲线的过程也就是控制叶室或参比室气体浓度变化的过程,**只要诱导的时间足够**,气孔会在相应设置的环境条件下开到足够大,这样 Ci 会随 Ca 而变化,一般来讲二者的比例为 0.7,但也可能在 0.5~0.7 间变化。 128 | 129 | 一般来讲,测量参数是在温度为 25 $^{\circ}$C 时获得,但实际测量过程中,因为外界温度过高或过低等无法控制叶室温度到 25 $^{\circ}$C,这其实并非严重的问题,因为这可以通过数学上的方法将计算参数标准化为 25 $^{\circ}$C 时的结果。所以,在测量时只需控制叶室温度稳定即可(通常为 20 $^{\circ}$C ~ 30 $^{\circ}$C 之间)。 此外就是控制恒定的 VPD 及一个饱和光强。另外就是需要注意,开始测量之前,必须在外界环境的 $CO_2$ 浓度下诱导足够长的时间,使光合速率达到稳定,一般需要20 ~ 30 min。对于没有稳定的光保护机制的植物,一般不建议在 50 ppm 或更低的浓度下进行设置,此时饱和光强和建议的温度下,植物没有足够的底物进行光合作用,这样会因为光化学反应的降低发生氧化性损伤。@centritto2003 研究表明,长时间的在 50 ppm 下诱导气孔打开到最大时,可以观测到最大的气孔导度(非标准方式测量)。 130 | 131 | 对于存在干旱胁迫的测量,由于干旱会导致气孔关闭(@lauteri2014), 此时没有足够多的 $CO_2$ 进入气孔,此时的测量是没有意义的,可在 50 ppm 诱导 1 h 等待气孔完全打开再快速升高 Ca 的值来进行测量(@centritto2003)。该方法对于 $V_{cmax}$ 不受影响而 $J_{max}$ 降低的情况适用(@Aganchich2009)。但在某些情况下,气孔关闭速度太快,无法完成整个 A/Ci 曲线过程 (Haworth2017)(需要考虑 LI-6800 RACiR)。更重要的是,如果想采用拟合方式求 gm,那么气孔必须完全打开使叶片对 $CO_2$ 吸收的限制降到最低。对于灌溉情况良好的植物或者土壤水分情况比较好的植物,气孔不对高于外界浓度的 Ca 的升高而响应(@haworth2015coordination),这可能需要更多的测量点或延长测量点的时间间隔来提高曲线的分辨率。另外,测量点的数量也要根据研究而改变,例如重点测量 Vcamx 时,50 ~ 300 ppm 的数据点要多一些,而如果研究对象是土壤磷酸盐对植物生理的限制,那么 1600 ~ 2000 ppm 的数据点要适当增多。 132 | 133 | 一个更精确的了解植物生理指标的方法是将 A/Ci 曲线改为 A/Cc 曲线,但这需要了解 gm 数据。因为 Cc 通过如下方式计算: 134 | 135 | \begin{equation} 136 | C_c = C_i - \frac{A}{gm} 137 | (\#eq:notecc) 138 | \end{equation} 139 | 140 | 对于 gm 的计算,比较易操作的有几种:采用光合荧光联合测量的方式计算求得。当然也可以采用曲线拟合的方式,或者 @yin2009using 使用的方式,在低氧气体下,采用不同的光照水平求得。 141 | 142 | 此外,测量气体交换非常重要的误差来源就是气体的扩散,因为测量时,多数时间内外界气体浓度要高于叶室内的气体浓度,那么即使使用密封性非常好的材料,由外界高 $CO_2$ 浓度气体向叶室低 $CO_2$ 浓度气体的扩散无法避免,尤其是在连续长时间测量时该效应尤为明显,因此需要经常更换叶室垫圈。具体可以通过一些方法来校正(@Flexas2007leak,rodeghiero2007major),但如果采用 LI-6800 测量这将不是问题,它采用的叶室增加技术并根据测量的漏气情况对结果自动修正。 143 | 144 | \cleardoublepage -------------------------------------------------------------------------------- /02-3-plantecophys-C3.Rmd: -------------------------------------------------------------------------------- 1 | ## 使用 `plantecophys` 拟合 LI-6400XT CO~2~ 响应曲线数据 {#plantecophy_use} 2 | 3 | ### 数据的前处理 {#data6400} 4 | 5 | 虽然 R 软件支持直接导入 xlsx 的数据,但因为 LI-6400XT 的数据记录文件内有其他空行或 remark 等内容,增加了处理代码的量,**故而推荐将其数据先整理为如表 \@ref(tab:head6400) 样式,并另存为 csv 格式**^[即仅保留测量值,删除其他所有头文件、空行、 remark 等信息]: 6 | 7 | 8 | ```{r, head6400, echo=FALSE} 9 | style <- read.csv("./data/aci.csv") 10 | knitr::kable(head(style[, 1:8]), longtable = TRUE, booktabs = TRUE, caption = '推荐 LI-6400 整理后数据样式') 11 | ``` 12 | 13 | ### 使用示例 {#fitaci-p} 14 | 15 | `plantecophys` 并非 base 的安装包,首次使用需要从 `CRAN` 安装,可以使用图形界面安装,也可以直接用命令行安装^[首次使用安装,更换电脑或者升级 R 软件后,如果没有拷贝 library,也需要运行安装命令],推荐同时安装依赖。 16 | 17 | ```{r, eval=FALSE} 18 | install.packages("plantecophys", dependencies = TRUE) 19 | ``` 20 | 21 | 22 | ```{r, fitaci6400, fig.cap = "光合速率的不同的限制阶段", message=FALSE} 23 | # 载入 plantecophys 24 | library("plantecophys") 25 | 26 | # 利用read.csv读取数据文件, 27 | # 我的路径为当前工作路径的data文件夹内 28 | aci <- read.csv("./data/aci.csv") 29 | 30 | # 防止可能出现的NA值 31 | aci <- subset(aci, Obs > 0) 32 | 33 | # 不修改默认参数对数据进行拟合 34 | acifit <- fitaci(aci) 35 | # 查看拟合结果的参数名称,方便导出数据使用 36 | attributes(acifit) 37 | # 查看拟合结果 38 | summary(acifit) 39 | 40 | acifit_linear <- fitaci(aci, fitmethod = "bilinear", quiet = TRUE) 41 | summary(acifit_linear) 42 | # 仅查看拟合参数, 比较两种拟合参数的差异 43 | coef(acifit_linear) 44 | coef(acifit) 45 | 46 | # 设置作图参数,图形的边距及分为1行两列输出图形 47 | par(mar = c(4.5, 4.5, 2, 2)) 48 | par(mfrow = c(1, 2)) 49 | # 对两种拟合参数的结果作图,查看模型拟合是否正常 50 | plot(acifit, addlegend = FALSE) 51 | legend(x = 500, y = 10, 52 | legend = c(expression(paste(A[c])), 53 | expression(paste(A[j])), 54 | "Limiting rate"), 55 | lty = c(1, 1, 1), 56 | col =c("red", "blue", "black") 57 | ) 58 | mtext(" fitmethod = 'default' ") 59 | 60 | plot(acifit_linear, addlegend = FALSE) 61 | legend(x = 500, y = 10, 62 | legend = c(expression(paste(A[c])), 63 | expression(paste(A[j])), 64 | "Limiting rate"), 65 | lty = c(1, 1, 1), 66 | col =c("red", "blue", "black") 67 | ) 68 | mtext("fitmethod = 'bilinear' ") 69 | 70 | ``` 71 | 72 | 如果需要导出数据做他用,直接根据 `attributes` 中看到的名称,选择对应的数据导出即可,如果使用 Rstudio 的话,其自动补全的功能在选择数据上更方便。例如导出预测值和系数分别使用如下方式: 73 | 74 | ```{r, eval=FALSE} 75 | # 将模型拟合结果中df(即计算数据)赋给predictaci, 76 | # 并用write.csv导出 77 | predictaci <- acifit$df 78 | write.csv(acifit$df, file = "acipredict.csv") 79 | write.csv(coef(acifit), file = "coefaci.csv") 80 | ``` 81 | 82 | >需要注意的是,因为非线性拟合需要一个初始值,因此,使用默认方式(非线性拟合)的时候,会存在可能的拟合失败现象,此时可以使用 `fitmethod = "bilinear"`,二者结果略有差别。 83 | 84 | #### fitmethod = "onepoint" 介绍 {#onepoint} 85 | 86 | @De2016A 发表了关于 one point 方法计算 $V_{cmax}$ 和 $J_{max}$ 方法的文章,在 2017 年 11 月的更新中,plantecophys 增加了响应的 R 软件实现方法, 该方法并非使用一个点计算 $V_{cmax}$ 和 $J_{max}$,而是对数据集中的每一个点的值进行估计,使用的方法为逆向了光合作用方程。输出为对每个原始数据加入了 $V_{cmax}$ 和 $J_{max}$,当然一如既往的可以使用温度校准的方法。**并不建议该方法应用于整个 ACi 曲线的数据,它的假设是在外部环境 CO~2~ 浓度和饱和光下,受到 Rubisco 羧化速率的限制而不是 RUBP 的限制。** 87 | 88 | 基于上面的描述,他们的模型如下: 89 | 90 | \begin{equation} 91 | \hat{V}_{cmax} = (A_{sat} + R_{day}) \frac{C_i + K_m}{C_i - \Gamma^*} 92 | (\#eq:inverseA) 93 | \end{equation} 94 | 95 | 其中:K~m~ 为米氏常数,其计算为: 96 | 97 | \begin{equation} 98 | K_m = K_c (1 + \frac{O_i}{K_o}) 99 | (\#eq:km) 100 | \end{equation} 101 | 102 | 未知参数均由文献中的方法进行计算,具体可参考 @De2016A 的原文,但上述方法的缺陷为还要使用 ACi 曲线来估算 R~day~,因此作者使用了1.5% V~cmax~ 作为 R~day~,因此公式 \@ref(eq:inverseA) 可变换为: 103 | 104 | \begin{equation} 105 | \hat{V}_{cmax} = A_{sat} (\frac{C_i + K_m}{C_i - \Gamma^*} - 0.015) 106 | (\#eq:onepoint) 107 | \end{equation} 108 | 109 | 另一个重要的模型的假设为 J~max~ 与 V~cmax~ 是成比例的, J~max~ 的计算是通过 C~i~ transition point 来实现的,文章中的比值均值为 1.9,范围在 1.68 ~ 2.14 之间。 110 | 111 | ### 使用 'onepoint' 单独计算 V~cmax~ 和 J~max~ {#onpoint_fit} 112 | 113 | 目前我手头没有相应数据,仅有使用 LI-6400 测试 auto log 2 时的一个数据,我们用这个来示范该方法的使用: 114 | 115 | ```{r, onepointdata} 116 | one_data <- read.csv("./data/onepoint.csv") 117 | knitr::kable(head(one_data), booktabs = TRUE, 118 | caption = 'onepoint 使用的数据') 119 | ``` 120 | 121 | 数据如上所示,为同一个叶片连续记录数据,故所有的光合速率十分接近。 122 | 123 | 使用方法: 124 | 125 | ```{r, onepoint} 126 | library(plantecophys) 127 | 128 | one_data <- subset(one_data, Obs > 0) 129 | one_data$Rd <- 0.5 130 | aci_fit <- fitaci(one_data, fitmethod = "onepoint") 131 | ``` 132 | 133 | ```{r, echo=FALSE} 134 | knitr::kable(head(data.frame(aci_fit$Photo, 135 | aci_fit$Vcmax, aci_fit$Jmax)), 136 | booktabs = TRUE, 137 | caption = 'onepoint 法计算的结果') 138 | ``` 139 | 140 | 需要注意,为保证结果的精确,如果不设定 Rd, 也即文献中的 Rday, 模型是无法计算的,因此上面的示例中虚构了一个,实际操作用一般使用低氧的 ACi 测量计算。 141 | 142 | ### 多条 CO~2~ 响应曲线的拟合 {#multi_curve} 143 | 144 | fitacis 函数实际上是 fitaci 函数的扩展,方便一次拟合多条曲线^[需要注意,此时fitmethod一般推荐使用bilinear。]。函数的参数如下: 145 | 146 | ```{r, eval=FALSE} 147 | fitacis(data, group, fitmethod = c("default", 148 | "bilinear"),progressbar = TRUE, 149 | quiet = FALSE, id = NULL, ...) 150 | 151 | ## S3 method for class 'acifits' 152 | plot(x, how = c("manyplots", "oneplot"), 153 | highlight = NULL, ylim = NULL, 154 | xlim = NULL, add = FALSE, what = c("model", 155 | "data", "none"), ...) 156 | ``` 157 | 158 | **主要参数详解:** 159 | 160 | 实际上 fitacis 与 fitaci 模型算法完全一致,只不过增加了一个 group 参数,用于区分不同测量的数据,具体请参考举例内容。 161 | 162 | #### fitacis 函数应用举例 {#fitacis_exa} 163 | 164 | 下文代码根据 plantecophys 中的示例代码修改,进行演示,原代码请参考其帮助文档。 165 | 166 | ```{r, fitacisr, fig.cap='fitacis作图结果'} 167 | library(plantecophys) 168 | # 只提取前10个不同测量的数据,节省时间进行举例 169 | manyacidat2 <- droplevels(manyacidat[manyacidat$Curve %in% 170 | levels(manyacidat$Curve)[1:10],]) 171 | 172 | # 对多条曲线进行拟合,使用bilinear方法, 173 | # 仅仅因为其比非线性拟合节省时间 174 | fits <- fitacis(manyacidat2, group = "Curve", fitmethod="bilinear", quiet = TRUE) 175 | 176 | # 拟合结果为list,我们可以只提取第一个的拟合结果 177 | fits[[1]] 178 | 179 | # 使用sapply提取拟合结果的RMSE(均方根误差) 180 | rmses <- sapply(fits, "[[", "RMSE") 181 | plot(rmses, type='h', ylab="RMSE", xlab="Curve nr") 182 | # 对最差的拟合结果进行作图 183 | plot(fits[[which.max(rmses)]]) 184 | ``` 185 | 186 | 可以看出,`fitaci` 和 `fitacis` 用法基本一致,各行代码均已经注释,更详细用法请参函数考帮助。 187 | 188 | ### `findCiTransition` 函数 {#transition} 189 | 190 | 计算 CiTransition 的函数,第一点为 Ac & Aj,第二点为 Aj & Ap,并且仅在计算 TPU 的前提下才会有第二点出现。 191 | 192 | ```{r, eval=FALSE} 193 | findCiTransition(object, ...) 194 | ``` 195 | 196 | 参数使用,object 为 fitaci 函数对象,或者整个的 `Photosyn` 函数。 197 | ... 为使用 `Photosyn` 时可传递的参数。 198 | 199 | 200 | \cleardoublepage -------------------------------------------------------------------------------- /13-2-pca.Rmd: -------------------------------------------------------------------------------- 1 | # 大话 PCA {#pca-anylysis} 2 | 3 | PCA 作为一个基础的方法,应用领域覆盖很广,涵盖的统计学相关的内容有均值、标准差、协方差, 线性代数中的特征向量及特征值。当然在与光合仪相关的应用方面多数是测量的光合速率、气孔导度等配合植物的其他性状来进行研究,其适用范围,用现在流行的统计学习术语来讲,应属于非监督性学习,即我们并非预测某变量同其预测值的关系,如同我们获得了一系列包含植物光合性状在内的性状,但我们并非将其预测某些结果,如同响应曲线那般,而是用这些形状来分类或者看齐对某目的的重要程度。本章的标题之所以叫大话,是因为这是我结合我自己的理解写的内容,如有错误请谅解,请指出。 4 | 5 | 另,推荐两个我认为很好的解释 PCA 的链接: 6 | 7 | [BioTuring's Blog](https://blog.bioturing.com/2018/06/14/principal-component-analysis-explained-simply/) 8 | 9 | [Principal Component Analysis](http://setosa.io/ev/principal-component-analysis/) 10 | 11 | ## 几何解释 {#geom-pca} 12 | 13 | PCA 通常能够反映我们复杂数据集的一些分布特征,例如典型的 `iris` 数据集,我们看到了三个鸢尾种的四个性状:花萼的长宽、花瓣的长宽,如果给我们这么一个数据,我们肉眼很难看出他们的特征来,如果作图也很难表达,因为这是一个四维的数据,假设我们只对前两组也就是花萼的长宽作图,先看一下二维的数据情况: 14 | 15 | ```{r, 2dim, echo=FALSE} 16 | ggplot2::qplot(log(Sepal.Length), log(Sepal.Width), data = iris) 17 | ``` 18 | 19 | 看上去一言难尽,此时的缺点非常明显,图中的每个点均代表了某个植株的两个性状,这个性状类似于我们说的电子云,杂乱而无规律。这还只是二维数据,如果我们将所有四个轴的数据都显示也就是四维的数据,那么对于我等肉眼凡胎来讲,还是不看为妙。 20 | 21 | 我在看到上面留的两个网址之前,对主成份分析的疑惑一直没断过,什么是主成份,一直说是主轴旋转,到底是怎么旋转的,我们看一下主成份的 PC1 是怎么来做的: 22 | 23 | ```{r, pccenter, out.width='100%', echo=FALSE, fig.cap="数据的中心化"} 24 | knitr::include_graphics("images/pc1.png") 25 | ``` 26 | 27 | 如图 \@ref(fig:pccenter),假设有三维的数据,可以理解为 iris 数据中前三列的观测值,每个点分别代表了一个植株的前三个性状,PCA 第一步便是中心化,将坐标轴由左边转移到右边的中心点位置作为原点,这就是所谓的平均值中心化的过程,这样就消除了测量时的偏差 ^[https://www.mathsisfun.com/definitions/bias.html],同时一般还要对数据进行缩放,以消除不同单位的影响 ^[https://en.wikipedia.org/wiki/Scaling_(geometry)], 28 | 例如有光合速率,有叶片面积的数据,这样能够消除不同单位的影响,通常的缩放例如对数化。 29 | 30 | ```{r, pc2, out.width='100%', echo=FALSE, fig.cap="PC1 的诞生"} 31 | knitr::include_graphics("images/pc2.png") 32 | ``` 33 | 34 | 移动坐标系后,因为进行了缩放,所有的数据具有相同的比例。我们这时做一条最佳的拟合线(图 \@ref(fig:pc2)),此时发生了两件重要的事情: 35 | 36 | * 所有的点投影到这条拟合线上,投影后的点之间的距离是最大的,该方向代表了所有变异最大,也就是最大化的区分所有的数据点,因为我们的目的就是要区分数据点之间的差异。如果在读的各位有跟我一样空间想象力有限的,可以根据图 \@ref(fig:maxvar) 的极端情况来理解,蓝色线为最佳拟合线,红色的数据点投影到其上的距离之和当然大于投影到蓝色的拟合线上。 37 | 38 | ```{r,maxvar, echo=FALSE, fig.cap="变异最大的极端情况"} 39 | plot(1:5, col="red") 40 | lines(1:5, col="blue") 41 | abline(3,0,col="green") 42 | ``` 43 | 44 | * 所有点和他们相对应的点之间的距离是最小的(也就是残差最小,最佳拟合当然是残差最小),这保证了这些投影的点和原来的数据点尽可能接近,也就是变化后损失的信息最少。 45 | 46 | 以上变化的最终结果为将变异放到最大而误差降低到最小,我们研究的最终目的无非就是这样。这个最佳拟合的线我们将其称之为 PC1,主成份1。 47 | 48 | ```{r, pc3, out.width='100%', echo=FALSE, fig.cap="PC2 的诞生"} 49 | knitr::include_graphics("images/pc3.png") 50 | ``` 51 | 如果我们做一条通过中心点并与 PC1 垂直的线,并不断旋转这条线使其满足:所有投影于其上的点,他们的距离最大,也就是变异最大,这样就做出了第二个主成份,PC2,如图 \@ref(fig:pc3)。**就这样不断的变换,一般情况下,我们可以使用 2~3 个主成份来解释绝大部分数据所展示的信息(所有数据都尽可能少的损失信息投影于其上)**。 52 | 53 | 以上为基本变换,如果我们使用 R 计算 PCA (这里推荐两个包 `factoextra` 和 `FactoMineR`),查看其结果: 54 | ```{r, scree, fig.cap="iris 碎石图"} 55 | library("FactoMineR") 56 | library("factoextra") 57 | 58 | ir <- iris[, 1:4] 59 | ir_pca <- PCA(ir, graph = FALSE) 60 | 61 | fviz_eig(ir_pca, addlabels = TRUE) 62 | ``` 63 | 64 | 我们可以看到,前两个成分可以解释数据 95% 以上的变异,所以我们可以只使用主成份 1 和主成份 2 对我们的结果进行解释。 65 | 66 | 既然我们使用两个主成份解释整个数据,那么我们怎么把四个性状都放在这个图上呢?这就需要载荷图来展示了,如图 \@ref(fig:loadingpca) 67 | 68 | ```{r, loadingpca, fig.cap="iris 载荷图"} 69 | fviz_pca_var(ir_pca) 70 | ``` 71 | 72 | 怎么解释呢,因为原始的数据点相当于在坐标轴上,这几个性状分布的产生类似于原始的数据点在拉拽某个性状,影响强的偏向某一方向,换句话说,**这些性状决定主成份时有不同的权重,也就是对主成份影响的权重大小。同时他们是有方向的,如果两个性状方向接近,也就是夹角非常小,说明他们有较强的正相关性,例如图中的花瓣的长宽,如果他们互相垂直,那说明他们无相关性,例如图中花萼的长宽,如果夹角非常大,例如他们几乎在一条直线上,说明具有显著的负相关**。其本质还是所有的单位向量(本例有四个性状,各个性状中心化后形成的轴,也就是向量)在现在的这个二维平面的位置。 73 | 74 | 而如果我想通过这些性状来对鸢尾分类,怎么看呢?那就需要得分图来展示了,如图 \@ref(fig:scorepca) ,得分图本质是各个品种的每个观测值在各个轴上的长度,也就是得分,所以其值都是每个物种性状的加权,每个点代表了每个物种的观测值。 75 | 76 | ```{r, scorepca, fig.cap="iris 得分图"} 77 | fviz_pca_ind(ir_pca, repel = TRUE, col.ind= iris$Species) 78 | ``` 79 | 80 | 我们明显看出来,PC1 方向,三个种的鸢尾分成了两大部分,其中 Setosa 延 PC1 同其他两个明显有区别,另外两个在 PC1 上也有较明显的区别,但二者有一定的重合,延 PC2 方向上,三者差别不大。或者反过来讲也可以,品种的差别对 PC1 影响比较显著,这也和我们的碎石图相匹配。 81 | 82 | ## 线性代数解释 {#alge-pca} 83 | 84 | ### 特征向量与特征值 {#egi-pca} 85 | 86 | 特征向量和特征值的数学描述为: 87 | 88 | \begin{equation} 89 | A \vec{x} = \lambda \vec{x} 90 | (\#eq:eign) 91 | \end{equation} 92 | 93 | 其中 A 为 n $\times$ n 的矩阵,$\vec{x}$ 为 非零 n $\times$ 1 列向量,$\lambda$ 是标量,那么 $\vec{x}$ 为 A 的特征向量,$\lambda$ 为 A 的特征值。 94 | 95 | 如果仅从数学描述上看,是十分不适合我这样没基础的人来理解的,但我们可以这么理解: 96 | 97 | A 为我们观测值(也即我们生态学上测量的数据)组成的 $n \times n$ 矩阵,每行的数据代表了一个观测值,例如光合速率是其中的一行,我们有n 个, 那么 $\vec{x}$ 和 $\lambda$ 意味着什么呢?再看一眼上面的 \@ref(eq:eign),这是一个等式,而 $\vec{x}$ 是 n $\times$ 1 维度,原来的数据是 n $\times$ n 维度,这就是主轴分析是降维分析的意义了,一个一维的特征向量和特征值与我们多维的观测值之间有一个相等的关系。当然,也有很多人在描述时喜欢用坐标轴旋转或这投影来形容的,如果你觉得这样好理解也没问题,不过我脑袋不擅长想象这种多维的空间。这样描述并不十分准确,只是我觉得便于理解,更正确描述应为我们下面所述的例子 (@Smith2002) ,但降维的原理即来自此处: 98 | 99 | \begin{equation} 100 | finaldata = rowfeaturevector \times rowdataajust 101 | (\#eq:despca) 102 | \end{equation} 103 | 104 | finaldata 很好理解,我们用于 PCA 的最终数据,rowfeature vector 则是我们根据协相关矩阵求得的特征向量的转置,最大的特征向量再最上面, rowdataadjust 则为**原始数据减去标准值**。 105 | 106 | 因为我手头没有相关的数据,想来想去,我们在 R 里见到最多的与生态学相关的数据也就是 iris,一个关于不同 iris 品种的叶片性状相关的数据,非常生态,我们还是继续使用: 107 | 108 | ```{r echo =FALSE} 109 | data("iris") 110 | knitr::kable(head(iris)) 111 | ``` 112 | 113 | 数据并不复杂,但是想要得出一些规律性的东西确不那么容易,因为数据量太大了。R 语言里面很多函数可以直接实现 PCA,例如 \@ref(geom-pca) 内容。这里按照最原始的方法实现一下,加深对原理的理解: 114 | 115 | ### 手动实现过程 {#man_pca} 116 | 117 | #### 均值的计算 {#av_val} 118 | 119 | ```{r} 120 | iris_mean <- apply(iris[, 1:4], 2, function(x) x - mean(x)) 121 | ``` 122 | 123 | 我只使用了前四列的性状数据,仅仅是方便结果的展示。 124 | 125 | #### 计算协方差矩阵 {#cov_val} 126 | 127 | ```{r} 128 | iris_cov <- cov(iris_mean) 129 | ``` 130 | 131 | #### 计算特征值和特征向量 {#eig_val} 132 | 133 | ```{r} 134 | iris_eigen <- eigen(iris_cov) 135 | ``` 136 | 137 | 这里就可以看到之前提到的,特征值和特征向量是根据协方差矩阵计算的。我们选取特征值最大的两个,他们的特征值之和已经占所有的特征值之和相当大的比例: 138 | 139 | ```{r} 140 | sum(iris_eigen$values[1:2])/sum(iris_eigen$values) 141 | ``` 142 | 143 | 也就是说特征值对应的前两项是我们最终降维所需要的,即最终的两个主轴为 $150 \times 2$ 维矩阵,即我们原来的 $150 \times 4$ 的矩阵乘以我们选取的前两个特征值对应的 $4 \times 2$ 组成的矩阵。 144 | 145 | 实际应用中我们不需要这么做了,因为太浪费时间了,我们直接用函数来得到结果即可。 146 | 147 | ### `prcomp` 的实现 {#prcom} 148 | 149 | 我们用 `prcomp` 来简化实现过程,注意,根据 @kemp2003modern,我们把 iris 数据对数化一下,并提取所有物种名字: 150 | 151 | ```{r} 152 | data("iris") 153 | iris_pca <- log(iris[, 1:4]) 154 | iris_species <- iris$Species 155 | ``` 156 | 需要注意,我们处理时使用特征中心化。即每一维的数据都减去该维的均值。这里的“维”指的就是一个特征(或属性),变换之后每一维的均值都变成了0 (参考 \@ref(eq:despca) )。 157 | 158 | ```{r} 159 | value_pca <- prcomp(iris_pca, center = TRUE, scale. = TRUE) 160 | ## 查看结果 161 | summary(value_pca) 162 | ``` 163 | 164 | 可以看到结果同我们最开始的计算相似,不同的是我们进行了对数化,而且根据 @kemp2003modern, 这个结果更合适。 165 | 166 | # 环境与配置 {#sessioninfo} 167 | 168 | 本文的内容所完成的 sessioninfo 如下: 169 | 170 | ```{r, sessionifo} 171 | sessionInfo() 172 | ``` 173 | 174 | \cleardoublepage 175 | -------------------------------------------------------------------------------- /data/light_response.csv: -------------------------------------------------------------------------------- 1 | Obs,HHMMSS,FTime,EBal?,Photo,Cond,Ci,Trmmol,VpdL,CTleaf,Area,BLC_1,StmRat,BLCond,Tair,Tleaf,TBlk,CO2R,CO2S,H2OR,H2OS,RH_R,RH_S,Flow,PARi,PARo,Press,CsMch,HsMch,CsMchSD,HsMchSD,CrMchSD,HrMchSD,StableF,BLCslope,BLCoffst,f_parin,f_parout,alphaK,Status,fda,Trans,Tair_K,Twall_K,R(W/m2),Tl-Ta,SVTleaf,h2o_i,h20diff,CTair,SVTair,CndTotal,vp_kPa,VpdA,CndCO2,Ci_Pa,Ci/Ca,RHsfc,C2sfc,AHs/Cs 2 | 1,15:34:12,409.0000078,0,8.811151459,0.099947562,247.1718198,1.909786472,1.902814453,26.96549797,6,1.420000017,1,2.840000033,26.97184753,26.96549797,26.9980278,414.1989136,402.7082825,14.63875389,16.89068031,40.48331833,46.71099854,500.2460632,1200.02832,7.655509949,98.81774139,2.044131994,-0.304002196,0.053124256,0.002318394,0.036313917,0.001994614,1,-0.219565243,2.737391472,1,0,0.159999996,111115,0.833743439,0.001909786,300.115498,300.1218475,192.004527,1.222821345,3.571913332,36.14647817,19.25579786,26.96867275,3.572579587,0.096549707,1.669098879,1.903480708,0.060639913,24.42496097,0.613773867,47.13763155,398.5198831,0.010421985 3 | 2,15:36:34,551.0000078,0,8.560603991,0.100311193,249.3167778,1.884854172,1.87188054,26.7600956,6,1.420000017,1,2.840000033,26.97864342,26.7600956,27.01598358,411.2186584,400.0476074,14.54766941,16.77026749,40.21433258,46.35829544,500.2914429,999.3768311,7.603530884,98.81519318,2.014664173,-0.301164836,0.082101695,0.008106041,0.040903483,0.001914298,1,-0.219565243,2.737391472,1,0,0.159999996,111115,0.833819071,0.001884854,299.9100956,300.1286434,159.9002894,0.899546388,3.529037761,35.71351376,18.94324628,26.86936951,3.551791258,0.096888992,1.657157221,1.894634037,0.060854058,24.63628556,0.62321777,47.38667126,395.9783063,0.010244463 4 | 3,15:38:55,692.0000078,0,8.546577402,0.100233019,249.3157069,1.849020841,1.838569197,26.53205109,6,1.420000017,1,2.840000033,26.97445488,26.53205109,27.02459526,410.8701172,399.7338562,14.4475975,16.62824059,39.95411301,45.98457336,500.2950439,800.8466797,7.340355873,98.83148193,2.048819542,-0.299217999,0.086257435,0.00259408,0.09886016,0.002022679,1,-0.219565243,2.737391472,1,0,0.159999996,111115,0.833825073,0.001849021,299.6820511,300.1244549,128.1354659,0.586888834,3.481962856,35.23131282,18.60307223,26.75325298,3.527617206,0.096816059,1.643393659,1.884223547,0.060808024,24.64024078,0.623704255,47.63969493,395.6712226,0.010290269 5 | 4,15:41:56,873.0000078,0,8.071139838,0.09991924,257.0907104,1.807773873,1.803396281,26.27399445,6,1.420000017,1,2.840000033,26.94830322,26.27399445,27.01373863,410.5704346,400.0243225,14.32199383,16.45420456,39.66193008,45.56666565,500.3337708,600.9608154,7.608669281,98.81719971,1.966515183,-0.290136725,0.08220093,0.004664913,0.047878809,0.006107943,1,-0.219565243,2.737391472,1,0,0.159999996,111115,0.833889618,0.001807774,299.4239944,300.0983032,96.15372832,0.275270511,3.429354699,34.70402632,18.24982176,26.61114883,3.498228404,0.096523278,1.625958418,1.872269986,0.060623232,25.40498407,0.642687697,47.86671164,396.1876892,0.009751412 6 | 5,15:44:23,1020.000008,0,7.180971957,0.09744883,268.7879618,1.736408191,1.775270411,26.05446625,6,1.420000017,1,2.840000033,26.91921234,26.05446625,26.99768829,409.4130859,399.9686584,14.2422533,16.29066467,39.5105629,45.19322205,500.3255615,399.8192444,7.386286736,98.82214355,1.91729486,-0.288810551,0.12853308,0.00441468,0.114456117,0.002210841,1,-0.219565243,2.737391472,1,0,0.159999996,111115,0.833875936,0.001736408,299.2044662,300.0692123,63.97107767,-0.029283604,3.385148814,34.25496242,17.96429775,26.48683929,3.472695261,0.094216,1.609878403,1.862816858,0.059167159,26.56220254,0.67202256,47.98223359,396.5551683,0.008688806 7 | 6,15:46:44,1161.000008,0,3.330857457,0.092453659,330.1495123,1.623926641,1.747642853,25.81167412,6,1.420000017,1,2.840000033,26.88122368,25.81167412,26.96987343,404.7189331,399.9451294,14.16487408,16.08120346,39.38415527,44.71233368,500.272644,149.8330383,7.357228756,98.82318878,1.901817918,-0.278701305,0.048339985,0.006921138,0.039808873,0.004965896,1,-0.219565243,2.737391472,1,0,0.159999996,111115,0.83378774,0.001623927,298.9616741,300.0312237,23.9732856,-0.400369735,3.336838658,33.76574566,17.6845422,26.3464489,3.444054913,0.089538803,1.589195805,1.854859108,0.056216532,32.62642758,0.825487018,47.98052579,398.3617993,0.004011838 8 | 7,15:49:06,1303.000008,0,2.291098155,0.083924307,344.3607516,1.484586281,1.755532841,25.72088051,6,1.420000017,1,2.840000033,26.83382607,25.72088051,26.9309845,403.4048767,399.9449768,14.06609058,15.81844044,39.22281265,44.10918045,500.2776489,101.3292465,7.517651081,98.83371735,1.724391818,-0.26793766,0.014412585,0.009292629,0.01868853,0.008461774,1,-0.219565243,2.737391472,1,0,0.159999996,111115,0.833796082,0.001484586,298.8708805,299.9838261,16.21267908,-0.413161594,3.318928112,33.58092968,17.76248924,26.27735329,3.430034958,0.081515459,1.563395271,1.866639687,0.051158241,34.03445319,0.861020319,47.32252343,398.8558985,0.002718289 9 | 8,15:51:28,1445.000008,0,0.841288453,0.072692691,369.7363217,1.305891375,1.776357692,25.68958282,6,1.420000017,1,2.840000033,26.79745293,25.68958282,26.89690018,401.5989075,399.9635925,14.0030117,15.54477692,39.132267,43.4408226,500.306366,59.5311203,7.694468498,98.83808136,1.764911532,-0.267030329,0.034515977,0.003433757,0.060520437,0.00499644,1,-0.219565243,2.737391472,1,0,0.159999996,111115,0.833843943,0.001305891,298.8395828,299.9474529,9.524979035,-0.400349285,3.312773618,33.51717852,17.97240161,26.24351788,3.423187727,0.070878484,1.536415926,1.886771801,0.044458552,36.54402865,0.924424944,46.40196672,399.5636843,0.000977002 10 | 9,15:53:51,1588.000008,0,-1.032218678,0.062279685,414.7136541,1.131575911,1.790341938,25.62275505,6,1.420000017,1,2.840000033,26.7700882,25.62275505,26.8762207,399.0630188,399.7584229,13.93607807,15.27240467,39.00352859,42.74356842,500.3091431,21.1607151,7.644618034,98.82685852,1.623799801,-0.25067997,0.054817531,0.007537677,0.043904949,0.006967031,1,-0.219565243,2.737391472,1,0,0.159999996,111115,0.833848572,0.001131576,298.7727551,299.9200882,3.385714341,-0.377690303,3.299665714,33.38834972,18.11594505,26.19642162,3.413676788,0.060943232,1.509323776,1.904353012,0.038207379,40.98484762,1.037410672,45.58203016,400.2490902,-0.001175534 11 | 10,15:56:13,1730.000008,0,-1.928595718,0.053776268,445.5882686,1.002187965,1.831138524,25.7239666,6,1.420000017,1,2.840000033,26.78636551,25.7239666,26.87751389,398.2573242,400.0892334,13.87572956,15.05943775,38.80059052,42.11058426,500.3406677,0.080619924,7.783838272,98.83483124,1.726216793,-0.240624666,0.029610042,0.005010861,0.014672265,0.002650102,1,-0.219565243,2.737391472,1,0,0.159999996,111115,0.833901113,0.001002188,298.8739666,299.9363655,0.012899188,-0.36221125,3.319535513,33.58669683,18.52725908,26.25516605,3.425543606,0.052776921,1.488396989,1.937146617,0.033073928,44.03964133,1.113722218,44.51300153,401.0059954,-0.002140806 12 | --------------------------------------------------------------------------------