├── .gitignore ├── 01_Data_manip_2 ├── .gitignore ├── README.md └── trees.csv ├── 02_Data_vis_1 ├── Graph_challenge.R ├── LPIdata_CC.csv ├── README.md ├── R_colours_guide.pdf └── ggplot2_cheatsheet.pdf ├── 03_Data_vis_2 ├── README.md └── magic_veg.csv ├── 04_Spatial_analysis ├── README.md └── taycrop.tif ├── 05_Markdown ├── README.md ├── RMarkdown_Demo_1.R ├── RMarkdown_Demo_2.R ├── RMarkdown_Demo_3.R ├── RMarkdown_Tutorial.R ├── RMarkdown_Tutorial_Demo_Rmd.Rmd ├── UnderGrad_Dissertation_Rmd.pdf ├── edidiv.csv └── rmarkdown-cheatsheet.pdf ├── 06_Shiny ├── Challenge_Apps │ ├── LPI_example │ │ ├── Data │ │ │ └── LPIdata_Feb2016.RData │ │ ├── app.R │ │ └── rsconnect │ │ │ └── shinyapps.io │ │ │ └── johngodlee │ │ │ └── LPI_example.dcf │ └── seedling_traits_example │ │ ├── Data │ │ └── Seedling_Elevation_Traits.csv │ │ ├── app.R │ │ └── rsconnect │ │ └── shinyapps.io │ │ └── johngodlee │ │ └── seedling_traits_example.dcf ├── Example_App │ └── app.R ├── README.md └── shiny-cheatsheet.pdf └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .Rproj.user 2 | *.Rproj 3 | .Rhistory 4 | .RData 5 | .Ruserdata 6 | -------------------------------------------------------------------------------- /01_Data_manip_2/.gitignore: -------------------------------------------------------------------------------- 1 | # History files 2 | .Rhistory 3 | .Rapp.history 4 | 5 | # Session Data files 6 | .RData 7 | 8 | # Example code in package build process 9 | *-Ex.R 10 | 11 | # Output files from R CMD build 12 | /*.tar.gz 13 | 14 | # Output files from R CMD check 15 | /*.Rcheck/ 16 | 17 | # RStudio files 18 | .Rproj.user/ 19 | CC-data-manip-2.Rproj 20 | 21 | # produced vignettes 22 | vignettes/*.html 23 | vignettes/*.pdf 24 | 25 | # OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3 26 | .httr-oauth 27 | 28 | # knitr and R markdown default cache directories 29 | /*_cache/ 30 | /cache/ 31 | 32 | # Temporary files created by R markdown 33 | *.utf8.md 34 | *.knit.md 35 | 36 | # Shiny token, see https://shiny.rstudio.com/articles/shinyapps.html 37 | rsconnect/ 38 | -------------------------------------------------------------------------------- /01_Data_manip_2/README.md: -------------------------------------------------------------------------------- 1 | # Data manipulation 2 2 | Efficient data manipulation with dplyr and pipes 3 | 4 | The follow-up to our first [data manipulation tutorial](https://ourcodingclub.github.io/2017/01/06/data-manip-intro.html), this tutorial digs deeper into the `dplyr` package. Features useful code snippets for reordering and renaming factors, ideal for producing great data visualisations! https://ourcodingclub.github.io/2017/01/06/data-manip-efficient.html 5 | 6 | #### 1. Chain together multiple lines of codes with pipes `%>%` 7 | 8 | #### 2. Use `dplyr` to its full potential 9 | 10 | #### 3. Automate advanced tasks like plotting without writing a loop 11 | 12 | We'll play around with a subset of a large dataset of [trees within the Edinburgh council area](https://data.edinburghcouncilmaps.info/datasets/4dfc8f18a40346009b9fc32cbee34039_39). We have restricted it to the [Special Landscape Area](https://data.edinburghcouncilmaps.info/datasets/33969ec66f9b46cf9617c40c023bb89e_35) around Craigmillar Castle. __Both datasets are available under Governement Open License v3.0. Copyright City of Edinburgh Council, contains Ordnance Survey data © Crown copyright and database right 2019. The two datasets were accessed in April 2019.__ 13 | 14 | For more about Coding Club, please see https://ourcodingclub.github.io/ and learn [how you can get involved!](https://ourcodingclub.github.io/workshop/) 15 | 16 | -------------------------------------------------------------------------------- /01_Data_manip_2/trees.csv: -------------------------------------------------------------------------------- 1 | "Site","LatinName","CommonName","Height","Spread","AgeGroup","DiameterAt","Easting","Northing" 2 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328092,671054 3 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328099,671061 4 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328106,671067 5 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328109,671071 6 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328127,671089 7 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328131,671093 8 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328159,670743 9 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328162,670740 10 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328165,670737 11 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328166,670734 12 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328168,670731 13 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","40 - 50",328172,670727 14 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","6 to 9 meters","Middle Aged","40 - 50",328172,671133 15 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328175,670723 16 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","40 - 50",328178,670720 17 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328182,670715 18 | "Craigmillar Castle Park","Sorbus aucuparia","Rowan","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",328184,670992 19 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328186,670710 20 | "Craigmillar Castle Park","Sorbus aucuparia","Rowan","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",328188,670995 21 | "Craigmillar Castle Park","Betula pendula","Silver Birch","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328192,670702 22 | "Craigmillar Castle Park","Sorbus aucuparia","Rowan","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",328192,670999 23 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328193,670704 24 | "Craigmillar Castle Park","Sorbus aucuparia","Rowan","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",328196,671002 25 | "Craigmillar Castle Park","Sorbus aucuparia","Rowan","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",328200,671005 26 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328201,670704 27 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328204,670688 28 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","30 - 40",328204,671156 29 | "Craigmillar Castle Park","Sorbus aucuparia","Rowan","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",328204,671008 30 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","15 to 20 meters","9 to 12 meters","Middle Aged","40 - 50",328205,671151 31 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","9 to 12 meters","Middle Aged","50 - 60",328206,670699 32 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","9 to 12 meters","Middle Aged","50 - 60",328207,670698 33 | "Craigmillar Castle Park","Sorbus aucuparia","Rowan","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",328208,671011 34 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328210,670687 35 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","15 to 20 meters","9 to 12 meters","Middle Aged","50 - 60",328211,671150 36 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328212,670697 37 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328213,670676 38 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328216,671145 39 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328217,670681 40 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328217,670671 41 | "Craigmillar Castle Park","Betula spp.","Birch spp","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328220,670666 42 | "Craigmillar Castle Park","Laburnum spp.","Laburnum spp","5 to 10 meters","3 to 6 meters","Mature","20 - 30",328221,670676 43 | "Craigmillar Castle Park","Betula spp.","Birch spp","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328222,670665 44 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","40 - 50",328223,671136 45 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328227,670667 46 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328228,670674 47 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Middle Aged","30 - 40",328228,670663 48 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","40 - 50",328228,671131 49 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Middle Aged","80 - 90",328232,671128 50 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328237,671125 51 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328240,670647 52 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328240,671121 53 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","30 - 40",328242,670654 54 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328244,670649 55 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328250,670640 56 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328250,670634 57 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","70 - 80",328252,671112 58 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","3 to 6 meters","Middle Aged","30 - 40",328256,670634 59 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","70 - 80",328256,671106 60 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328257,670627 61 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","6 to 9 meters","Middle Aged","40 - 50",328257,670620 62 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","3 to 6 meters","Middle Aged","30 - 40",328259,670630 63 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328262,671104 64 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328265,671098 65 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328265,670616 66 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328266,670620 67 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328266,670625 68 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Middle Aged","20 - 30",328266,670608 69 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328269,670605 70 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328270,671093 71 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","15 to 20 meters","6 to 9 meters","Middle Aged","30 - 40",328271,671096 72 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328271,670618 73 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328273,670607 74 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328273,670602 75 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","40 - 50",328275,670613 76 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328277,671091 77 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328277,670603 78 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328279,670609 79 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","30 - 40",328281,670606 80 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328281,670595 81 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328283,670604 82 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328283,671079 83 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","9 to 12 meters","Middle Aged","30 - 40",328285,670599 84 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328286,671084 85 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328286,670594 86 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","9 to 12 meters","Middle Aged","60 - 70",328288,671077 87 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328289,670596 88 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328289,670585 89 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","50 - 60",328293,671077 90 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328294,670584 91 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328296,670588 92 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","50 - 60",328298,670580 93 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328300,670583 94 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328304,670577 95 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328305,671293 96 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328307,671291 97 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","Up to 5 meters","3 to 6 meters","Mature","40 - 50",328307,670779 98 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","Up to 5 meters","3 to 6 meters","Mature","40 - 50",328309,670777 99 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","40 - 50",328310,670570 100 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","70 - 80",328310,671310 101 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","40 - 50",328310,671288 102 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328311,670564 103 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","9 to 12 meters","Middle Aged","60 - 70",328312,671308 104 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","9 to 12 meters","Mature","50 - 60",328312,670774 105 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Middle Aged","20 - 30",328313,670561 106 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","40 - 50",328315,671280 107 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328316,670555 108 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Mature","70 - 80",328316,670768 109 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328318,671303 110 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328319,670555 111 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","60 - 70",328320,671279 112 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328321,670553 113 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","9 to 12 meters","Mature","40 - 50",328321,670761 114 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","50 - 60",328322,671299 115 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328324,670552 116 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","9 to 12 meters","Mature","50 - 60",328325,670756 117 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","50 - 60",328326,671293 118 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","9 to 12 meters","Mature","60 - 70",328326,670755 119 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328327,670547 120 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328327,671291 121 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","60 - 70",328328,670542 122 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","3 to 6 meters","Middle Aged","20 - 30",328329,670545 123 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","Up to 5 meters","3 to 6 meters","Mature","40 - 50",328329,670751 124 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328330,671308 125 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328331,670544 126 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","Up to 5 meters","3 to 6 meters","Mature","20 - 30",328331,670749 127 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328332,671291 128 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","6 to 9 meters","Middle Aged","60 - 70",328332,670770 129 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","Up to 5 meters","3 to 6 meters","Mature","20 - 30",328332,670748 130 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","Up to 5 meters","3 to 6 meters","Mature","30 - 40",328333,670747 131 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",328334,670533 132 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",328334,670532 133 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328336,670531 134 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","6 to 9 meters","Middle Aged","50 - 60",328336,670536 135 | "Craigmillar Castle Park","Prunus spp.","Cherry spp","5 to 10 meters","9 to 12 meters","Middle Aged","40 - 50",328019,671039 136 | "Craigmillar Castle Park","Pinus sylvestris","Scots Pine","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328342,670524 137 | "Craigmillar Castle Park","Sambucus nigra","Common Elder","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328342,670522 138 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328343,670521 139 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328343,670753 140 | "Craigmillar Castle Park","Crataegus monogyna","Hawthorn","5 to 10 meters","3 to 6 meters","Mature","30 - 40",328343,670525 141 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328344,670520 142 | "Craigmillar Castle Park","Ilex aquifolium","Common Holly","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328344,670520 143 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328345,670518 144 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328345,670519 145 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328346,670517 146 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328346,670517 147 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","6 to 9 meters","Middle Aged","60 - 70",328346,670982 148 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","50 - 60",328347,670529 149 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","6 to 9 meters","Middle Aged","40 - 50",328347,670970 150 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","6 to 9 meters","Middle Aged","20 - 30",328348,670969 151 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328349,670971 152 | "Craigmillar Castle Park","Pinus nigra 'Maritima'","Corsican Pine","15 to 20 meters","6 to 9 meters","Middle Aged","50 - 60",328349,670520 153 | "Craigmillar Castle Park","Pinus sylvestris","Scots Pine","15 to 20 meters","3 to 6 meters","Middle Aged","40 - 50",328351,670520 154 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328352,670741 155 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328353,670510 156 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","9 to 12 meters","Middle Aged","30 - 40",328354,670973 157 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328356,670506 158 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328356,670506 159 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Mature","60 - 70",328357,670734 160 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328358,670990 161 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328358,670709 162 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328359,670513 163 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","9 to 12 meters","Middle Aged","40 - 50",328360,670972 164 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328360,670974 165 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328360,670498 166 | "Craigmillar Castle Park","Sambucus nigra","Common Elder","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328360,670498 167 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328361,670500 168 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","Over 12 meters","Middle Aged","60 - 70",328361,670728 169 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328361,670500 170 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328362,670512 171 | "Craigmillar Castle Park","Pinus nigra 'Maritima'","Corsican Pine","15 to 20 meters","6 to 9 meters","Middle Aged","50 - 60",328362,670507 172 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328363,670503 173 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328363,670973 174 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328364,670970 175 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328364,670495 176 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328364,670495 177 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328365,670972 178 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328365,670698 179 | "Craigmillar Castle Park","Pinus sylvestris","Scots Pine","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328365,670494 180 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328366,670494 181 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328366,670971 182 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328366,670967 183 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328367,670965 184 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328367,670721 185 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328368,670487 186 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328368,670486 187 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","6 to 9 meters","Middle Aged","50 - 60",328370,670966 188 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328371,670487 189 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328371,670484 190 | "Craigmillar Castle Park","Aesculus spp.","Chestnut spp","5 to 10 meters","Up to 3 meters","Middle Aged","20 - 30",328372,670959 191 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328372,670483 192 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328373,670481 193 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328373,670482 194 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328373,670691 195 | "Craigmillar Castle Park","Aesculus spp.","Chestnut spp","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328373,670957 196 | "Craigmillar Castle Park","Sambucus nigra","Common Elder","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328373,670479 197 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328374,670481 198 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328374,670962 199 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328374,670479 200 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328375,670955 201 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328375,670478 202 | "Craigmillar Castle Park","Quercus spp.","Oak spp","10 to 15 meters","9 to 12 meters","Middle Aged","40 - 50",328375,670491 203 | "Craigmillar Castle Park","Sorbus intermedia","Swedish Whitebeam","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328375,670477 204 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328376,670954 205 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328376,670476 206 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","3 to 6 meters","Middle Aged","20 - 30",328377,670480 207 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328377,670475 208 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328377,670474 209 | "Craigmillar Castle Park","Sambucus nigra","Common Elder","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328377,670476 210 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328379,670473 211 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328379,670473 212 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328379,670472 213 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328379,670951 214 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328380,670476 215 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328380,670951 216 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328380,670989 217 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","Up to 3 meters","Middle Aged","20 - 30",328381,670948 218 | "Craigmillar Castle Park","Ilex aquifolium","Common Holly","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328381,670471 219 | "Craigmillar Castle Park","Ilex aquifolium","Common Holly","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328381,670470 220 | "Craigmillar Castle Park","Ilex aquifolium","Common Holly","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328381,670470 221 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328382,670481 222 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","Up to 3 meters","Middle Aged","20 - 30",328382,670947 223 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","20 to 25 meters","9 to 12 meters","Middle Aged","60 - 70",328382,670702 224 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328383,670472 225 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328383,670699 226 | "Craigmillar Castle Park","Ilex aquifolium","Common Holly","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328383,670468 227 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328384,670987 228 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328384,670468 229 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328384,670945 230 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328384,670467 231 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328385,670947 232 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328385,670943 233 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328386,670986 234 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","6 to 9 meters","Middle Aged","50 - 60",328386,670942 235 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328387,670941 236 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","20 - 30",328387,670464 237 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328387,670466 238 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328387,670465 239 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328388,670475 240 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328388,670944 241 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328388,670852 242 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","20 - 30",328389,670472 243 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","Up to 3 meters","Middle Aged","20 - 30",328389,670938 244 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328389,670849 245 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","20 - 30",328389,670463 246 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328390,670942 247 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328390,670937 248 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","Up to 3 meters","Semi-mature","10 - 20",328390,670462 249 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328390,670462 250 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","6 to 9 meters","Middle Aged","20 - 30",328391,670935 251 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328392,670855 252 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328393,670934 253 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328393,670460 254 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328393,670460 255 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","9 to 12 meters","Middle Aged","60 - 70",328394,670932 256 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328394,670660 257 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328394,670465 258 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328394,670847 259 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328394,670458 260 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328394,670459 261 | "Craigmillar Castle Park","Prunus spp.","Cherry spp","5 to 10 meters","6 to 9 meters","Middle Aged","20 - 30",328394,670979 262 | "Craigmillar Castle Park","Prunus spp.","Cherry spp","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328394,670977 263 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328395,670458 264 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","3 to 6 meters","Mature","40 - 50",328395,670929 265 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328395,670853 266 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328395,670841 267 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328395,670457 268 | "Craigmillar Castle Park","Prunus spp.","Cherry spp","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328395,670984 269 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","Over 12 meters","Middle Aged","70 - 80",328396,670687 270 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328396,670888 271 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","9 to 12 meters","Middle Aged","50 - 60",328396,670462 272 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","3 to 6 meters","Mature","40 - 50",328396,670926 273 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","3 to 6 meters","Mature","20 - 30",328396,670923 274 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","3 to 6 meters","Mature","30 - 40",328396,670918 275 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","3 to 6 meters","Mature","40 - 50",328396,670904 276 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","6 to 9 meters","Mature","60 - 70",328396,670901 277 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328396,670895 278 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","5 to 10 meters","6 to 9 meters","Middle Aged","20 - 30",328397,670863 279 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","6 to 9 meters","Mature","40 - 50",328397,670915 280 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","6 to 9 meters","Mature","50 - 60",328397,670913 281 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328397,670848 282 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328397,670455 283 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","5 to 10 meters","6 to 9 meters","Middle Aged","20 - 30",328398,670885 284 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","20 - 30",328398,670460 285 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328398,670456 286 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328398,670866 287 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328399,670454 288 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","Over 12 meters","Middle Aged","70 - 80",328399,670683 289 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328399,670975 290 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328399,670834 291 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328400,670453 292 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","3 to 6 meters","Middle Aged","20 - 30",328400,670837 293 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Middle Aged","20 - 30",328400,670839 294 | "Craigmillar Castle Park","Prunus spp.","Cherry spp","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328401,670973 295 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328402,670451 296 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","10 to 15 meters","6 to 9 meters","Middle Aged","20 - 30",328403,670834 297 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","Up to 3 meters","Semi-mature","10 - 20",328403,670452 298 | "Craigmillar Castle Park","Larix spp.","Larch spp","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328405,670968 299 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328405,670831 300 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328405,670451 301 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","6 to 9 meters","Semi-mature","10 - 20",328406,670450 302 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","9 to 12 meters","Middle Aged","40 - 50",328406,670457 303 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328406,670448 304 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328407,670830 305 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","9 to 12 meters","Middle Aged","40 - 50",328407,670462 306 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328408,670672 307 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328408,670448 308 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328408,670449 309 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","6 to 9 meters","Middle Aged","30 - 40",328409,670455 310 | "Craigmillar Tip","Fraxinus excelsior","Common Ash","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328411,670966 311 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","20 - 30",328411,670445 312 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328411,670448 313 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328411,670446 314 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328412,670668 315 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328412,670446 316 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328412,670447 317 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328412,670447 318 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","6 to 9 meters","Middle Aged","30 - 40",328413,670451 319 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328413,670977 320 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","Up to 3 meters","Middle Aged","20 - 30",328414,670450 321 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","10 to 15 meters","Over 12 meters","Mature","60 - 70",328415,670641 322 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328415,670444 323 | "Craigmillar Castle Park","Pinus sylvestris","Scots Pine","5 to 10 meters","3 to 6 meters","Mature","30 - 40",328415,670967 324 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328415,670454 325 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","9 to 12 meters","Middle Aged","40 - 50",328415,670445 326 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328415,670444 327 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328415,670444 328 | "Craigmillar Castle Park","Prunus avium","Wild Cherry","5 to 10 meters","9 to 12 meters","Mature","50 - 60",328415,670612 329 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","9 to 12 meters","Middle Aged","40 - 50",328416,670448 330 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328417,670443 331 | "Craigmillar Castle Park","Crataegus monogyna","Hawthorn","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328417,670443 332 | "Craigmillar Castle Park","Pinus sylvestris","Scots Pine","5 to 10 meters","Up to 3 meters","Mature","20 - 30",328417,670964 333 | "Craigmillar Castle Park","Populus spp.","Poplar spp","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328417,670447 334 | "Craigmillar Castle Park","Populus spp.","Poplar spp","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328418,670451 335 | "Craigmillar Castle Park","Crataegus monogyna","Hawthorn","Up to 5 meters","3 to 6 meters","Mature","20 - 30",328419,670442 336 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328419,670441 337 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Middle Aged","70 - 80",328421,670630 338 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328421,670440 339 | "Craigmillar Castle Park","Acer spp.","Maple spp","10 to 15 meters","6 to 9 meters","Mature","40 - 50",328423,670616 340 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328424,670964 341 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328424,670439 342 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","6 to 9 meters","Middle Aged","20 - 30",328424,670440 343 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","3 to 6 meters","Middle Aged","20 - 30",328425,670964 344 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","20 - 30",328427,670438 345 | "Craigmillar Castle Park","Ilex aquifolium","Common Holly","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328427,670438 346 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328430,670436 347 | "Craigmillar Castle Park","Crataegus monogyna","Hawthorn","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328434,670434 348 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","15 to 20 meters","Over 12 meters","Mature","60 - 70",328435,670655 349 | "Craigmillar Castle Park","Acer spp.","Maple spp","10 to 15 meters","6 to 9 meters","Mature","50 - 60",328435,670642 350 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328435,670434 351 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328437,670964 352 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328440,670431 353 | "Craigmillar Castle Park","Sambucus nigra","Common Elder","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328442,670430 354 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Semi-mature","10 - 20",328444,670429 355 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","3 to 6 meters","Semi-mature","10 - 20",328444,670430 356 | "Craigmillar Castle Park","Ilex aquifolium","Common Holly","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328445,670428 357 | "Craigmillar Castle Park","Larix spp.","Larch spp","5 to 10 meters","3 to 6 meters","Mature","40 - 50",328448,670966 358 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","10 to 15 meters","9 to 12 meters","Mature","60 - 70",328450,670675 359 | "Craigmillar Castle Park","Prunus spp.","Cherry spp","5 to 10 meters","6 to 9 meters","Mature","70 - 80",328458,670653 360 | "Craigmillar Castle Park","Prunus spp.","Cherry spp","5 to 10 meters","9 to 12 meters","Mature","60 - 70",328463,670689 361 | "Craigmillar Castle Park","Populus spp.","Poplar spp","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328475,670973 362 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328478,670412 363 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","40 - 50",328479,670414 364 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","40 - 50",328480,671138 365 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328486,670411 366 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328489,670417 367 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328491,670406 368 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328491,671127 369 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328494,671123 370 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","3 to 6 meters","Semi-mature","20 - 30",328494,670405 371 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","15 to 20 meters","Over 12 meters","Middle Aged","70 - 80",328497,670669 372 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","3 to 6 meters","Semi-mature","20 - 30",328498,670403 373 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328499,670403 374 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328501,671135 375 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","40 - 50",328504,671133 376 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328506,670400 377 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328509,670399 378 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328509,670400 379 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328509,670400 380 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","15 to 20 meters","Over 12 meters","Middle Aged","70 - 80",328511,670677 381 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328513,670399 382 | "Craigmillar Castle Park","Salix caprea","Goat Willow","5 to 10 meters","6 to 9 meters","Semi-mature","30 - 40",328519,670828 383 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328521,670908 384 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","3 to 6 meters","Semi-mature","20 - 30",328521,670892 385 | "Craigmillar Castle Park","Betula pendula","Silver Birch","10 to 15 meters","3 to 6 meters","Middle Aged","20 - 30",328523,670972 386 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328524,670923 387 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328525,670675 388 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328526,670916 389 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328526,670889 390 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328527,670999 391 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","60 - 70",328527,671005 392 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328527,670919 393 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328527,670920 394 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328527,670919 395 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328527,670917 396 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328527,670885 397 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328527,670913 398 | "Craigmillar Castle Park","Alnus glutinosa","Common Alder","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328527,670813 399 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","60 - 70",328528,671017 400 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328528,670918 401 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328528,670917 402 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","15 to 20 meters","6 to 9 meters","Middle Aged","60 - 70",328528,671011 403 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328529,670883 404 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328529,670809 405 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","60 - 70",328530,671025 406 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","Up to 3 meters","Semi-mature","10 - 20",328530,670918 407 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","70 - 80",328531,671031 408 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","70 - 80",328533,671019 409 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328533,671041 410 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328533,671047 411 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328533,670990 412 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","50 - 60",328534,671052 413 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","50 - 60",328534,671059 414 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328534,670394 415 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","5 to 10 meters","6 to 9 meters","Middle Aged","40 - 50",328534,671087 416 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","20 to 25 meters","Over 12 meters","Middle Aged","70 - 80",328534,670646 417 | "Craigmillar Castle Park","Quercus spp.","Oak spp","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328534,670985 418 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","70 - 80",328535,671010 419 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","70 - 80",328536,671068 420 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","15 to 20 meters","9 to 12 meters","Mature","70 - 80",328536,670406 421 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","90 +",328537,671050 422 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","70 - 80",328538,671034 423 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328539,670406 424 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","70 - 80",328540,671081 425 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","60 - 70",328541,671102 426 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","80 - 90",328542,671084 427 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Middle Aged","60 - 70",328543,671063 428 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328546,670402 429 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","15 to 20 meters","Over 12 meters","Middle Aged","60 - 70",328546,671080 430 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328549,670412 431 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328551,670427 432 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","50 - 60",328552,670390 433 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Mature","70 - 80",328552,670422 434 | "Craigmillar Castle Park","Populus balsamifera","Balsam Poplar","10 to 15 meters","3 to 6 meters","Middle Aged","20 - 30",328552,671008 435 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328553,670405 436 | "Craigmillar Castle Park","Populus balsamifera","Balsam Poplar","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328553,671005 437 | "Craigmillar Castle Park","Salix caprea","Goat Willow","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328553,671003 438 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328555,670396 439 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","30 - 40",328555,670402 440 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","15 to 20 meters","Over 12 meters","Mature","70 - 80",328556,670637 441 | "Craigmillar Castle Park","Populus balsamifera","Balsam Poplar","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328556,671026 442 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328558,670432 443 | "Craigmillar Castle Park","Populus balsamifera","Balsam Poplar","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328559,671021 444 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","30 - 40",328560,670423 445 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","50 - 60",328564,670438 446 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328566,670429 447 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328566,670444 448 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328567,670459 449 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328569,670456 450 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328571,670441 451 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","30 - 40",328571,670447 452 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328571,670472 453 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328571,670633 454 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","40 - 50",328572,670462 455 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328573,670448 456 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328574,670473 457 | "Craigmillar Castle Park","Salix caprea","Goat Willow","5 to 10 meters","3 to 6 meters","Middle Aged","20 - 30",328577,671039 458 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328579,670459 459 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328579,670465 460 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328583,671039 461 | "Craigmillar Castle Park","Acer platanoides","Norway Maple","Up to 5 meters","Up to 3 meters","Semi-mature","10 - 20",328585,671037 462 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","20 to 25 meters","Over 12 meters","Mature","80 - 90",328585,671113 463 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","15 to 20 meters","Over 12 meters","Mature","70 - 80",328588,670630 464 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328603,670631 465 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328608,670635 466 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328610,670626 467 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",328613,671025 468 | "Craigmillar Castle Park","Salix caprea","Goat Willow","5 to 10 meters","6 to 9 meters","Middle Aged","10 - 20",328621,671023 469 | "Craigmillar Castle Park","Salix caprea","Goat Willow","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328629,671018 470 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","20 to 25 meters","Over 12 meters","Mature","90 +",328630,671114 471 | "Craigmillar Castle Park","Aesculus hippocastanum","Horse Chestnut","15 to 20 meters","Over 12 meters","Mature","80 - 90",328635,670845 472 | "Craigmillar Castle Park","Salix caprea","Goat Willow","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328636,671013 473 | "Craigmillar Castle Park","Populus balsamifera","Balsam Poplar","15 to 20 meters","6 to 9 meters","Middle Aged","30 - 40",328645,671010 474 | "Craigmillar Castle Park","Populus balsamifera","Balsam Poplar","15 to 20 meters","6 to 9 meters","Middle Aged","40 - 50",328647,671012 475 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","20 to 25 meters","Over 12 meters","Mature","80 - 90",328659,671105 476 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","70 - 80",328661,671114 477 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","90 +",328681,670917 478 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","70 - 80",328688,670926 479 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","60 - 70",328689,670663 480 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","60 - 70",328697,670686 481 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","90 +",328697,670933 482 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","10 to 15 meters","9 to 12 meters","Middle Aged","60 - 70",328697,670666 483 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","90 +",328707,670895 484 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","80 - 90",328708,670937 485 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328711,670655 486 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","60 - 70",328711,670682 487 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","90 +",328711,670876 488 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328718,670666 489 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328722,670648 490 | "Craigmillar Castle Road, Edinburgh","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",328723,670434 491 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","70 - 80",328724,671059 492 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328727,670656 493 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","80 - 90",328728,670880 494 | "Craigmillar Castle Road, Edinburgh","Salix caprea","Goat Willow","10 to 15 meters","6 to 9 meters","Middle Aged","20 - 30",328728,670440 495 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Mature","60 - 70",328731,670892 496 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Mature","90 +",328731,670905 497 | "Craigmillar Castle Road, Edinburgh","Salix caprea","Goat Willow","10 to 15 meters","6 to 9 meters","Middle Aged","20 - 30",328733,670445 498 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328736,670647 499 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328741,670659 500 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","9 to 12 meters","Middle Aged","60 - 70",328744,671063 501 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","70 - 80",328748,671072 502 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328774,670664 503 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","50 - 60",328785,670671 504 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328788,670673 505 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328790,670693 506 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","50 - 60",328797,670678 507 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","Over 12 meters","Middle Aged","50 - 60",328798,670708 508 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","15 to 20 meters","9 to 12 meters","Middle Aged","70 - 80",328798,670984 509 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","70 - 80",328807,670683 510 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328808,670695 511 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328813,670996 512 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","50 - 60",328820,670705 513 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328823,670714 514 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","6 to 9 meters","Middle Aged","50 - 60",328825,670707 515 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","15 to 20 meters","9 to 12 meters","Middle Aged","60 - 70",328830,670708 516 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328831,670681 517 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","60 - 70",328833,670703 518 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","50 - 60",328834,670692 519 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328843,670710 520 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","9 to 12 meters","Middle Aged","50 - 60",328852,670709 521 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","6 to 9 meters","Middle Aged","20 - 30",328924,670671 522 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328935,670678 523 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328950,670686 524 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","40 - 50",328960,671082 525 | "Craigmillar Castle Park","Fagus sylvatica","Common Beech","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328960,671060 526 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","6 to 9 meters","Middle Aged","30 - 40",328961,671085 527 | "Craigmillar Castle Road, Edinburgh","Crataegus monogyna","Hawthorn","5 to 10 meters","6 to 9 meters","Mature","30 - 40",328962,670693 528 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","10 to 15 meters","6 to 9 meters","Middle Aged","40 - 50",328962,671095 529 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328963,671102 530 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328964,671104 531 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","10 to 15 meters","3 to 6 meters","Middle Aged","30 - 40",328965,671094 532 | "Craigmillar Castle Park","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328966,671108 533 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328970,671115 534 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328971,671116 535 | "Craigmillar Castle Park","Fraxinus excelsior","Common Ash","5 to 10 meters","3 to 6 meters","Middle Aged","30 - 40",328972,671117 536 | "Craigmillar Castle Road, Edinburgh","Sambucus nigra","Common Elder","Up to 5 meters","3 to 6 meters","Juvenile","10 - 20",328988,670800 537 | "Craigmillar Castle Road, Edinburgh","Fraxinus excelsior","Common Ash","Up to 5 meters","3 to 6 meters","Juvenile","10 - 20",328989,670725 538 | "Craigmillar Castle Road, Edinburgh","Fraxinus excelsior","Common Ash","Up to 5 meters","3 to 6 meters","Juvenile","10 - 20",328989,670724 539 | "Craigmillar Castle Road, Edinburgh","Fraxinus excelsior","Common Ash","Up to 5 meters","3 to 6 meters","Juvenile","10 - 20",328989,670724 540 | "Craigmillar Castle Road, Edinburgh","Fraxinus excelsior","Common Ash","Up to 5 meters","3 to 6 meters","Juvenile","10 - 20",328990,670726 541 | "Craigmillar Castle Road, Edinburgh","Sambucus nigra","Common Elder","Up to 5 meters","3 to 6 meters","Juvenile","10 - 20",328990,670777 542 | "Craigmillar Castle Road, Edinburgh","Sambucus nigra","Common Elder","Up to 5 meters","3 to 6 meters","Juvenile","10 - 20",328990,670775 543 | "Craigmillar Castle Road, Edinburgh","Populus tremula","Aspen","Up to 5 meters","3 to 6 meters","Juvenile","10 - 20",328994,670844 544 | "Craigmillar Castle Road, Edinburgh","Populus tremula","Aspen","5 to 10 meters","3 to 6 meters","Juvenile","10 - 20",328994,670839 545 | "Craigmillar Castle Road, Edinburgh","Populus tremula","Aspen","5 to 10 meters","3 to 6 meters","Juvenile","10 - 20",328994,670838 546 | "Hawkhill Woods","Salix caprea","Goat Willow","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",329062,671048 547 | "Hawkhill Woods","Crataegus monogyna","Hawthorn","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",329072,671038 548 | "Hawkhill Woods","Crataegus monogyna","Hawthorn","Up to 5 meters","Up to 3 meters","Juvenile","10 - 20",329072,671033 549 | "Hawkhill Woods","Salix caprea","Goat Willow","5 to 10 meters","6 to 9 meters","Semi-mature","10 - 20",329076,671112 550 | "Hawkhill Woods","Acer pseudoplatanus","Sycamore","5 to 10 meters","3 to 6 meters","Semi-mature","10 - 20",329079,671046 551 | "Hawkhill Woods","Acer pseudoplatanus","Sycamore","10 to 15 meters","6 to 9 meters","Middle Aged","20 - 30",329129,671064 552 | -------------------------------------------------------------------------------- /02_Data_vis_1/Graph_challenge.R: -------------------------------------------------------------------------------- 1 | ######################################################### 2 | # # 3 | # Coding Club workshop 1st Feb 2017 # 4 | # Beautiful and informative data visualisation # 5 | # # 6 | # Written by NAME DATE EMAIL # 7 | # # 8 | ######################################################### 9 | 10 | 11 | # Libraries 12 | library(tidyr) 13 | library(dplyr) 14 | library(ggplot2) 15 | library(readr) 16 | library(gridExtra) 17 | 18 | # First we will import and format data and then you can write some code to beautify the graphs :). 19 | 20 | # Import data from the Living Planet Index - population trends of vertebrate species from 1970 to 2014 21 | LPI <- read.csv(file.choose()) # find where you saved LPIdata_CC.csv 22 | 23 | # Notice the data are in a wide format - the different years are column names, when really they should be rows 24 | # We will reshape the data using the gather() function from the tidyr package 25 | 26 | # Reshape data into long form 27 | # By adding 9:53, we select rows from 9 to 53, the ones for the different years of monitoring 28 | LPI2 <- gather(LPI, "year", "abundance", 9:53) 29 | view(LPI2) 30 | 31 | # Notice that there is an 'X' in front of all the years - when we imported the data, all column names become characters 32 | # R put an 'X' in front of the years to turn the numbers into characters 33 | # Now that the years are rows, not columns, we need them to be numbers 34 | LPI2$year <- parse_number(LPI2$year) 35 | 36 | # When manipulating data it's always good check if the variables have stayed how we want them 37 | # Use the str() function 38 | str(LPI2) 39 | 40 | # Abundance is a character variable, when it should be numeric, let's fix that 41 | LPI2$abundance <- as.numeric(LPI2$abundance) 42 | 43 | ########################################################## 44 | 45 | # GRAPH 1 46 | 47 | # Population trends of two species 48 | # Choose two species from the LPI data and display their population trends using a scatterplot and a linear model fit 49 | 50 | # HINT - use unique() to create a list of species names to choose from 51 | # e.g. unique(LPI2$taxonGroup) 52 | 53 | # HINT - use filter() from the dplyr package 54 | # e.g. my_species <- filter(LPI2, Common.Name == c("Reed bunting", "Corn bunting")) 55 | # Careful with the spelling, needs to be exactly like it is in the data 56 | 57 | # Some code to get you started 58 | # (scatter_plot <- ggplot(your_species, aes (x=year, y=abundance)) + geom_point() + geom_smooth(method=lm)) 59 | 60 | # Save the plot using ggsave(object_name, file="filename.png", width=NUMBER, height=NUMBER) 61 | 62 | ########################################################## 63 | 64 | # GRAPH 2 65 | 66 | # Comparing abundance between countries 67 | # Sticking with your two species, filter the data to include only records from FIVE countries of your choice 68 | # Make a boxplot to compare how the abundance of those two species varies between the five countries 69 | 70 | # Some code to get you started 71 | # (boxplot <- ggplot(your_species2, aes(Country.list, abundance)) + geom_bowxplot()) 72 | 73 | # Save the plot using ggsave() 74 | 75 | # Create a panel of the two graphs and save it again using ggsave() 76 | 77 | ########################################################## 78 | 79 | # Upload the panel in the Google Drive https://drive.google.com/open?id=0B7mgZ2NLgHGMT3BUV0ZrcV9teHc 80 | -------------------------------------------------------------------------------- /02_Data_vis_1/LPIdata_CC.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ourcodingclub/CC_course_stream2/cf010cdaf32f698a459e565c52d48922027b2928/02_Data_vis_1/LPIdata_CC.csv -------------------------------------------------------------------------------- /02_Data_vis_1/README.md: -------------------------------------------------------------------------------- 1 | # Beautiful and informative data visualisation 2 | 3 | This folder contains the data for our first data visualisation tutorial: https://ourcodingclub.github.io/2017/01/29/datavis.html 4 | 5 | Living Planet Index data http://www.livingplanetindex.org/home/index used to complete Coding Club's data visualisation tutorial 6 | 7 | `R_colours_guide.pdf` came from the Stowers Institute for Medical Research: http://research.stowers-institute.org/efg/R/Color/Chart/ColorChart.pdf 8 | 9 | `ggplot2_cheatsheet.pdf` was provided by R Studio: https://www.rstudio.com/wp-content/uploads/2015/03/ggplot2-cheatsheet.pdf 10 | 11 | Check out https://ourcodingclub.github.io/workshop/ to learn how you can get involved! 12 | 13 | We would love to hear your feedback on the tutorial, whether you did it at a Coding Club workshop or online: 14 | https://www.surveymonkey.co.uk/r/83WV8HV 15 | 16 | This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/). 17 | 18 | [![License: CC BY-SA 4.0](https://licensebuttons.net/l/by-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/) 19 | -------------------------------------------------------------------------------- /02_Data_vis_1/R_colours_guide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ourcodingclub/CC_course_stream2/cf010cdaf32f698a459e565c52d48922027b2928/02_Data_vis_1/R_colours_guide.pdf -------------------------------------------------------------------------------- /02_Data_vis_1/ggplot2_cheatsheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ourcodingclub/CC_course_stream2/cf010cdaf32f698a459e565c52d48922027b2928/02_Data_vis_1/ggplot2_cheatsheet.pdf -------------------------------------------------------------------------------- /03_Data_vis_2/README.md: -------------------------------------------------------------------------------- 1 | # Coding Club Data Visualisation Tutorial 2 2 | 3 | ## The data used for this workshop represent made-up records of plant abundance and height in the magical lands of Hogsmeade and Narnia. 4 | 5 | You can check out the full tutorial online here https://ourcodingclub.github.io/2017/03/29/data-vis-2.html 6 | 7 | #### If you have any questions about completing this tutorial, please contact us on ourcodingclub@gmail.com 8 | 9 | Check out https://ourcodingclub.github.io/workshop/ to learn how you can get involved! 10 | 11 | #### We would love to hear your feedback on the tutorial, whether you did it at a Coding Club workshop or online! 12 | 13 | This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/). 14 | 15 | [![License: CC BY-SA 4.0](https://licensebuttons.net/l/by-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/) 16 | -------------------------------------------------------------------------------- /04_Spatial_analysis/README.md: -------------------------------------------------------------------------------- 1 | # CC-spatial 2 | 3 | ### Intro tutorial to working with raster data in R (visualisation, calculating NDVI and classification) 4 | https://ourcodingclub.github.io/2019/03/26/spatial.html 5 | 6 | This tutorial uses a Sentinel 2 satellite image collected on the 27th June 2018 and downloaded from the Copernicus Hub. 7 | https://sentinels.copernicus.eu/web/sentinel/sentinel-data-access 8 | 9 | We would love to hear your feedback on the tutorial, whether you did it at a Coding Club workshop or online: 10 | https://www.surveymonkey.com/r/8MJ8GRY 11 | 12 | Check out https://ourcodingclub.github.io/workshop/ to learn how you can get involved! 13 | 14 | This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/). 15 | 16 | [![License: CC BY-SA 4.0](https://licensebuttons.net/l/by-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/) 17 | -------------------------------------------------------------------------------- /04_Spatial_analysis/taycrop.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ourcodingclub/CC_course_stream2/cf010cdaf32f698a459e565c52d48922027b2928/04_Spatial_analysis/taycrop.tif -------------------------------------------------------------------------------- /05_Markdown/README.md: -------------------------------------------------------------------------------- 1 | # CC-2-RMarkdown 2 | Using R Markdown to construct reproducible code 3 | 4 | This repository contains the files necessary to complete the Coding Club R Markdown tutorial - you can check it out at 5 | https://ourcodingclub.github.io/2016/11/24/rmarkdown-1.html 6 | 7 | `RMarkdown_Tutorial.R` provides a basic R script to work with using the online tutorial material, to turn into an R Markdown document. 8 | 9 | The data (`edidiv.csv`) were downloaded from the NBN Gateway https://data.nbn.org.uk/ for educational purposes. 10 | 11 | `rmarkdown-cheatsheet.pdf` was downloaded from https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf 12 | 13 | The 3 demo R scripts (`RMarkdown_Demo_1.R`, `RMarkdown_Demo_2.R`, `Rmarkdown_Demo_3.R`) are provided as examples which can be easily turned into R Markdown files. 14 | 15 | For more about Coding Club, please see https://ourcodingclub.github.io/ 16 | 17 | Check out https://ourcodingclub.github.io/workshop/ to learn how you can get involved! 18 | 19 | We would love to hear your feedback on the tutorial, whether you did it at a Coding Club workshop or online: 20 | https://www.surveymonkey.co.uk/r/F5PDDHV 21 | 22 | This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/). 23 | 24 | [![License: CC BY-SA 4.0](https://licensebuttons.net/l/by-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/) 25 | -------------------------------------------------------------------------------- /05_Markdown/RMarkdown_Demo_1.R: -------------------------------------------------------------------------------- 1 | ####################################################### 2 | # Example R Markdown Script # 3 | # Adapted from: # 4 | # Tidy data and efficient manipulation # 5 | # Coding Club tutorial # 6 | # January 18th 2017 # 7 | # Sandra Angers-Blondin (s.angers-blondin@ed.ac.uk) # 8 | # John Godlee # 9 | # 24/Jan/2017 # 10 | ####################################################### 11 | 12 | # Use this example R script to practice compiling an R Markdown file. 13 | # Try to make a well commented, easy to follow record of what is going on so that others can easily follow. 14 | 15 | # Download the datasets for this example script from: 16 | https://github.com/ourcodingclub/CC3-DataManip 17 | 18 | # Install and load the relevant packages ---------------------------------------------- 19 | library(dplyr) # an excellent data manipulation package 20 | library(tidyr) # a package to format your data 21 | library(pander) #to create pretty tables 22 | 23 | # Set your working directory to the folder where you have downloaded the datasets 24 | setwd() 25 | 26 | # Import data ------------------------------------------------------------- 27 | elongation <- read.csv("EmpetrumElongation.csv", sep = ";") # stem elongation measurements on crowberry 28 | germination <- read.csv("Germination.csv", sep = ";") # germination of seeds subjected to toxic solutions 29 | 30 | # Tidying the data ------------------------------------------------------------ 31 | #Putting the data into long format using gather() 32 | elongation_long <- gather(elongation, Year, Length, c(X2007, X2008, X2009, X2010, X2011, X2012)) 33 | #gather() works like this: data, key, value, columns to gather. Here we want the lengths (value) to be gathered by year (key). Note that you are completely making up the names of the second and third arguments, unlike most functions in R. 34 | head(elongation_long) 35 | 36 | # Investigating the data ------------------------------------------------------------ 37 | # Create a boxplot of `elongation_long' to visualise elongation for each year. 38 | # This set of boxplots can be added to your R Markdown document by putting the code in a code chunk 39 | boxplot(Length ~ Year, 40 | data = elongation_long, 41 | xlab = "Year", 42 | ylab = "Elongation (cm)", 43 | main = "Annual growth of Empetrum hermaphroditum") 44 | 45 | # Use filter() to keep only the rows of `germination' for species `SR' 46 | germinSR <- filter(germination, Species == 'SR') 47 | 48 | # Let's have a look at the distribution of germination across SR 49 | # This histogram can be added to your R Markdown document by simply putting the code in a code chunk 50 | # Try adding some plain text to your R markdown document to explain the histogram 51 | hist(germinSR$Nb_seeds_germin, breaks = 8) 52 | 53 | # Use mutate() to create a new column of the germination percentage using the total number of seeds and the number of seeds that germinated 54 | germin_percent <- mutate(germination, Percent = Nb_seeds_germin / Nb_seeds_tot * 100) 55 | 56 | # Use a pipe to get a table of summary statistics for each Seed type 57 | germin_summ <- germin_percent %>% 58 | group_by(Species) %>% 59 | summarise("Mean germination per" = mean(Nb_seeds_germin), "Max germination per" = max(Nb_seeds_germin), "Min germination per" = min(Nb_seeds_germin)) 60 | 61 | ## Make a table of `germin_summ' in your R markdown document using pander(), the instructions can be found in the tutorial 62 | 63 | 64 | -------------------------------------------------------------------------------- /05_Markdown/RMarkdown_Demo_2.R: -------------------------------------------------------------------------------- 1 | ####################################################### 2 | # Example R Markdown Script # 3 | # John Godlee # 4 | # 24/Jan/2017 # 5 | ####################################################### 6 | 7 | # Use this example R script to practice compiling an R Markdown file. 8 | # Try to make a well commented, easy to follow record of what is going on so that others can easily follow. 9 | 10 | # Install and load the relevant packages ---------------------------------------------- 11 | library(datasets) # To get the loblolly pine growth data 12 | library(dplyr) # To get summary statistics on the data 13 | 14 | # Set your working directory to where you have saved your script 15 | setwd() 16 | 17 | # Import data ------------------------------------------------------------- 18 | pine_growth <- Loblolly # This data shows the height of pine trees at different ages, from different seed stocks 19 | head(pine_growth) 20 | 21 | # Investigating the data ------------------------------------------------------------ 22 | # Create a simple scatterplot showing the age-height distribution 23 | # This set of boxplots can be added to your R Markdown document by putting the code in a code chunk 24 | # Try adding some plain text to your R markdown document to explain the histogram 25 | plot(x = pine_growth$age, y = pine_growth$height, xlab = "Age (Years)", ylab = "Height (m)", col=pine_growth$Seed) 26 | 27 | # Create boxplots to show how different Seed stocks compare in height distribution 28 | boxplot(height ~ Seed, data = pine_growth) 29 | 30 | # Use a pipe to get a table of summary statistics for each Seed type 31 | pine_growth_seedsumm <- pine_growth %>% 32 | group_by(Seed) %>% 33 | summarise("Mean Height" = mean(height), "STDEV Height" = sd(height), "Median Height" = median(height)) 34 | 35 | # Use a pipe to get a table of summary statistics for each Age type 36 | pine_growth_agesumm <- pine_growth %>% 37 | group_by(age) %>% 38 | summarise("Mean Height" = mean(height), "STDEV Height" = sd(height), "Median Height" = median(height)) 39 | 40 | ## Make a table of `pine_growth_seedsumm' and `pine_growth_agesumm' in your R markdown document using pander(), the instructions can be found in the tutorial 41 | 42 | 43 | -------------------------------------------------------------------------------- /05_Markdown/RMarkdown_Demo_3.R: -------------------------------------------------------------------------------- 1 | ####################################################### 2 | # Example R Markdown Script # 3 | # John Godlee # 4 | # 24/Jan/2017 # 5 | ####################################################### 6 | 7 | # Use this example R script to practice compiling an R Markdown file. 8 | # Try to make a well commented, easy to follow record of what is going on so that others can easily follow. 9 | 10 | # Download the data set for this example script from: 11 | https://github.com/ourcodingclub/Datasets/tree/master/Seedling_Traits 12 | 13 | # Install and load the relevant packages ---------------------------------------------- 14 | library(dplyr) # To get summary statistics on the data 15 | 16 | # Set your working directory to the folder where you have downloaded the datasets 17 | setwd() 18 | 19 | # Import data ------------------------------------------------------------- 20 | seedlings <- read.csv("Seedling_Elevation_Traits.csv") 21 | 22 | # Investigating the data ------------------------------------------------------------ 23 | # Create a scatterplot showing the relationship between `Soil.temp.mean' and `Elevation.m' 24 | # This scatterplot can be added to your R Markdown document by putting the code in a code chunk 25 | # Try adding some plain text to your R markdown document to explain the histogram 26 | plot(x = seedlings$Elevation.m, y = seedlings$Soil.temp.mean) 27 | 28 | # Create a set of boxplots showing how `Leaf.thickness.mean.mm' varies by `Species' 29 | boxplot(Leaf.thickness.mean.mm ~ Species, 30 | col=c("red", "blue", "green", "yellow", "pink", "violet", "orange", "grey", "brown"), data = seedlings) 31 | 32 | # Use a pipe to get a table of summary statistics for each Species type 33 | 34 | seedlings_specsumm <- seedlings %>% 35 | group_by(Species) %>% 36 | summarise("Mean Leaf Thickness" = mean(Leaf.thickness.mean.mm), "Mean Stem Width" = mean(Width.mm), "Mean SPAD" = mean(SPAD.mean)) 37 | 38 | # Use a pipe to get a table of summary statistics for each Site 39 | 40 | seedlings_sitesumm <- seedlings %>% 41 | group_by(Site) %>% 42 | summarise("Mean Soil Temp." = mean(Soil.temp.mean), "Mean Elevation" = mean(Elevation.m), "Undergrowth density" = mean(Num.seedlings.comp)) 43 | 44 | ## Make a table of `seedlings_specsumm' and `seedlings_specsumm' in your R markdown document using pander(), the instructions can be found in the tutorial 45 | 46 | -------------------------------------------------------------------------------- /05_Markdown/RMarkdown_Tutorial.R: -------------------------------------------------------------------------------- 1 | # Coding Club Workshop 7 R Markdown and reproducible code - Template R script 2 | # Written by John Godlee 3 | # 21/11/16 4 | # University of Edinburgh 5 | 6 | # Use this example R script to practice compiling an R Markdown file, using the tutorial materials provided at: ourcodingclub.github.io/2016/11/24/rmarkdown-1.html 7 | 8 | # Follow through the tutorial to make a well commented, easy to follow record of what is going on so that others can easily follow. 9 | 10 | # Loading packages 11 | library(dplyr) 12 | 13 | # Loading biodiversity data 14 | # This data is a publicly available dataset of occurrence records for many animal, 15 | # plant, and fungi species, for 2000-2016 from the NBN Gateway 16 | 17 | setwd("") 18 | edidiv <- read.csv("edidiv.csv") 19 | 20 | # Constructing a table of species richness in each taxonomic group 21 | 22 | richness <- 23 | edidiv %>% 24 | group_by(taxonGroup) %>% 25 | summarise(Species_richness = n_distinct(taxonName)) 26 | 27 | richness 28 | 29 | # Creating a barplot of species richness in each taxonomic group 30 | 31 | barplot(richness$Species_richness, 32 | names.arg = richness$taxonGroup, 33 | xlab = "Taxa", ylab = "Number of species", 34 | ylim = c(0,600) 35 | ) 36 | 37 | # Determining what the most common species is in each taxonomic group 38 | 39 | max_abund <- 40 | edidiv %>% 41 | group_by(taxonGroup) %>% 42 | summarise(taxonName = names(which.max(table(taxonName)))) 43 | 44 | max_abund 45 | 46 | # Joining the two data frames together, using "taxonGroup" as the reference 47 | 48 | richness_abund <- inner_join(richness, max_abund, by = "taxonGroup") 49 | 50 | # Renaming the headers of the tables, and viewing the data frame 51 | 52 | richness_abund <- rename(richness_abund, Most_abundant = taxonName, Taxon = taxonGroup) 53 | 54 | richness_abund 55 | 56 | # Things to think about: 57 | # - Which bits of code need to be displayed in the final .html file? 58 | # - How can the formatting of the R markdown file be improved? 59 | 60 | # Experiment with other demo R scripts in the repo, or your own scripts for further practice! 61 | # - RMarkdown_Demo_1.R 62 | # - RMarkdown_Demo_2.R 63 | # - RMarkdown_Demo_3.R 64 | -------------------------------------------------------------------------------- /05_Markdown/RMarkdown_Tutorial_Demo_Rmd.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | title: "R Markdown Tutorial Demo" 3 | author: "John Doe" 4 | date: "21/11/2016" 5 | output: html_document 6 | --- 7 | 8 | ##Preamble 9 | ###Packages 10 | ```{r, message=FALSE, warning=FALSE} 11 | library(dplyr) #for data manipulation 12 | library(pander) #to create pretty tables 13 | ``` 14 | 15 | ```{r, include=FALSE} 16 | setwd("~/Desktop") 17 | edidiv <- read.csv("edidiv.csv") 18 | ``` 19 | 20 | 21 | ##Data Exploration 22 | A preliminary investigation into the biodiversity of Edinburgh, using data from the NBN Gateway https://data.nbn.org.uk/. 23 | 24 | ###What is the species richness across taxonomic groups? 25 | A table of species richness: 26 | ```{r, results='asis'} 27 | richness <- 28 | edidiv %>% 29 | group_by(taxonGroup) %>% 30 | summarise(Species_richness = n_distinct(taxonName)) 31 | 32 | richness 33 | ``` 34 | 35 | 36 | A barplot of the table above: 37 | ```{r, fig.align="center", fig.width=15, fig.height=8} 38 | barplot(richness$Species_richness, 39 | names.arg = richness$taxonGroup, 40 | xlab="Taxa", ylab="Number of species", 41 | ylim=c(0,600) 42 | ) 43 | ``` 44 | 45 | 46 | ###What is the most common species in each taxonomic group? 47 | 48 | A table of the most common species: 49 | ```{r} 50 | #Create a vector of most abundant species per taxa 51 | max_abund <- 52 | edidiv %>% 53 | group_by(taxonGroup) %>% 54 | summarise(taxonName = names(which.max(table(taxonName)))) 55 | 56 | #Add the vector to the data frame 57 | richness_abund <- 58 | inner_join(richness, max_abund, by = "taxonGroup") 59 | richness_abund <- rename(richness_abund, Most_abundant = taxonName, Taxon = taxonGroup) 60 | ``` 61 | 62 | ```{r} 63 | richness_abund <- rename(richness_abund, "Most Abundant" = Most_abundant, "Species Richness" = Species_richness) #Change the column names 64 | emphasize.italics.cols(3) #Make the 3rd column italics 65 | pander(richness_abund) #Create a table 66 | ``` 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /05_Markdown/UnderGrad_Dissertation_Rmd.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ourcodingclub/CC_course_stream2/cf010cdaf32f698a459e565c52d48922027b2928/05_Markdown/UnderGrad_Dissertation_Rmd.pdf -------------------------------------------------------------------------------- /05_Markdown/rmarkdown-cheatsheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ourcodingclub/CC_course_stream2/cf010cdaf32f698a459e565c52d48922027b2928/05_Markdown/rmarkdown-cheatsheet.pdf -------------------------------------------------------------------------------- /06_Shiny/Challenge_Apps/LPI_example/Data/LPIdata_Feb2016.RData: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ourcodingclub/CC_course_stream2/cf010cdaf32f698a459e565c52d48922027b2928/06_Shiny/Challenge_Apps/LPI_example/Data/LPIdata_Feb2016.RData -------------------------------------------------------------------------------- /06_Shiny/Challenge_Apps/LPI_example/app.R: -------------------------------------------------------------------------------- 1 | # Exploring LPI 2016 spatial data in a Shiny app 2 | # John Godlee (johngodlee@gmail.com) 3 | # 2017-5-02 4 | 5 | # Packages ---- 6 | library(shiny) 7 | library(dplyr) 8 | library(ggmap) 9 | 10 | # Load data ---- 11 | load("Data/LPIdata_Feb2016.RData", envir = .GlobalEnv) 12 | map_world <- borders("world", colour="black", fill = "gray28") 13 | 14 | # ui.R ---- 15 | ui <- fluidPage(title = "Living Planet Index", 16 | verticalLayout(titlePanel("The spatial distribtion of records used to generate the 2016 Living Planet index (www.livingplanetindex.org)"), 17 | plotOutput("global_map", height = "700px"), 18 | wellPanel(selectInput(inputId = "realm_map", 19 | label = "Choose realm", 20 | choices = unique(LPIdata_Feb2016$realm), 21 | selected = unique(LPIdata_Feb2016$realm)[1], 22 | multiple = TRUE 23 | ) 24 | ) 25 | ) 26 | ) 27 | 28 | # server.R ---- 29 | server <- function(input, output) { 30 | 31 | # Plot map 32 | output$global_map <- renderPlot( 33 | ggplot() + 34 | map_world + 35 | geom_point(aes(x = Decimal_Longitude, 36 | y = Decimal_Latitude, 37 | colour = realm), 38 | data = LPIdata_Feb2016[LPIdata_Feb2016$realm == input$realm_map,]) + 39 | theme(axis.title = element_blank(), 40 | axis.text = element_blank(), 41 | axis.ticks = element_blank(), 42 | axis.line = element_blank(), 43 | panel.border = element_rect(colour="black", fill = NA, size=1), 44 | panel.background = element_rect(fill="#FCFCFC"), 45 | legend.position = "bottom", 46 | legend.title = element_blank(), 47 | legend.text = element_text(size = 15)) + 48 | guides(colour = guide_legend(override.aes = list(size = 10))) 49 | ) 50 | } 51 | 52 | # Run app ---- 53 | shinyApp(ui = ui, server = server) 54 | -------------------------------------------------------------------------------- /06_Shiny/Challenge_Apps/LPI_example/rsconnect/shinyapps.io/johngodlee/LPI_example.dcf: -------------------------------------------------------------------------------- 1 | name: LPI_example 2 | title: LPI_example 3 | account: johngodlee 4 | server: shinyapps.io 5 | appId: 177138 6 | bundleId: 813254 7 | url: https://johngodlee.shinyapps.io/LPI_example/ 8 | when: 1493814031.48761 9 | asMultiple: FALSE 10 | asStatic: FALSE 11 | -------------------------------------------------------------------------------- /06_Shiny/Challenge_Apps/seedling_traits_example/Data/Seedling_Elevation_Traits.csv: -------------------------------------------------------------------------------- 1 | Site,Species.elevation.code,Species,Individual.code,Latitude.DD,Long.DD,Elevation.m,Soil.temp.mean,Soil.temp.SD,Num.leaves,Height.cm,Width.mm,SPAD.mean,SPAD.SD,Leaf.thickness.mean.mm,Leaf.thickness.SD,Num.seedlings.comp 2 | A,Bottom,MS,1,-12.63933333,-71.27366667,841,22.1,0.1,21,28,0.943,29.7,0.854400375,0.125,0.002645751,45 3 | A,Bottom,MS,2,-12.63844444,-71.27508333,832,22.16666667,0.057735,58,27,1.162,37.96666667,0.680685929,0.118333333,0.001154701,33 4 | A,Bottom,MS,3,-12.6385,-71.27511111,848,22.03333333,0.11547,10,25,1.104,34.63333333,0.550757055,0.118,0.003605551,62 5 | A,Bottom,MS,4,-12.63894444,-71.27441667,839,22.53333333,0.057735,18,15,0.742,25.03333333,1.011599394,0.127333333,0.006027714,79 6 | A,Bottom,MS,5,-12.63927778,-71.27375,780,22,0.2,24,28,1.536,41.93333333,1.619670748,0.134666667,0.002516611,30 7 | A,Bottom,MS,6,-12.63908333,-71.27388889,842,22.16666667,0.057735,10,15,0.834,29.26666667,1.026320288,0.134666667,0.03493327,58 8 | A,Bottom,MS,7,-12.63872222,-71.27505556,839,22.23333333,0.11547,12,11,0.627,28.83333333,0.37859389,0.17,0.005291503,54 9 | A,Bottom,MS,8,-12.63886111,-71.27441667,823,22.16666667,0.057735,33,30,1.776,42.3,0.953939201,0.128666667,0.004618802,53 10 | A,Bottom,MS,9,-12.63841667,-71.27511111,832,22.13333333,0.057735,11,18,2.213,33.1,1.374772708,0.160666667,0.002081666,70 11 | A,Bottom,MS,10,-12.63833333,-71.27511111,831,22.03333333,0.11547,11,21,2.76,31.9,0.7,0.135333333,0.002886751,44 12 | B,Top,ID,11,-12.86852778,-71.40575,914,22.43333333,0.057735,3,27,1.95,46.86666667,3.557152419,0.154333333,0.040426889,64 13 | B,Top,ID,12,-12.86836111,-71.406,860,22.46666667,0.057735,2,33,2.707,48.96666667,3.855299383,0.235666667,0.046479386,62 14 | B,Top,ID,13,-12.86847222,-71.40588889,843,22.46666667,0.23094,1,19,1.855,37.4,1.824828759,0.165,0.040595566,48 15 | B,Top,ID,14,-12.86833333,-71.40622222,927,22.3,0,3,19,2.813,64.03333333,2.396525262,0.208666667,0.015044379,32 16 | B,Top,ID,15,-12.86858333,-71.40566667,859,22.5,0.2,1,14,2.525,40.46666667,3.092463958,0.177666667,0.008326664,31 17 | B,Top,ID,16,-12.86855556,-71.40580556,861,22.53333333,0.057735,2,12,2.35,39.46666667,1.588500341,0.185,0.020663978,29 18 | B,Top,ID,17,-12.86858333,-71.40566667,859,22.36666667,0.378594,1,10,2.051,30.06666667,1.50443788,0.161,0.037,42 19 | B,Top,ID,18,-12.8685,-71.40577778,840,22.43333333,0.11547,1,11,2.376,45,0.781024968,0.205666667,0.018230012,80 20 | B,Top,ID,19,-12.86838889,-71.40591667,852,22.66666667,0.23094,1,12,2.745,49.43333333,1.962990915,0.221,0.036345564,43 21 | B,Top,ID,20,-12.86855556,-71.40580556,861,22.26666667,0.057735,3,6,3.552,52.3,0.6244998,0.137333333,0.013012814,38 22 | C,Bottom,ID,21,-12.65533333,-71.23394444,412,25.73333333,0.208167,4,26,3.52,56.7,2.40208243,0.218,0.011789826,17 23 | C,Bottom,ID,22,-12.6555,-71.23377778,411,25.93333333,0.152753,2,20,2.781,46.33333333,3.707200201,0.191333333,0.015821926,40 24 | C,Bottom,ID,23,-12.65483333,-71.23547222,411,26.2,0.1,3,16,3.017,56.2,0.98488578,0.250333333,0.050796982,22 25 | C,Bottom,ID,24,-12.65544444,-71.23411111,407,26.13333333,0.208167,1,16,3.169,50.4,5.632051136,0.235333333,0.05735271,33 26 | C,Bottom,ID,25,-12.65616667,-71.23266667,404,26.33333333,0.208167,3,13,3.243,45.63333333,2.706165799,0.302,0.002645751,74 27 | C,Bottom,ID,26,-12.65502778,-71.23472222,401,26.06666667,0.152753,1,15,4.182,50.2,2.787471973,0.233,0.039887341,40 28 | C,Bottom,ID,27,-12.65552778,-71.23369444,415,26.7,0.87178,2,11,3.105,41.93333333,3.924708057,0.195333333,0.027061658,28 29 | C,Bottom,ID,28,-12.65547222,-71.23394444,408,26,0.173205,1,10,3.225,41.36666667,3.760762334,0.243666667,0.079198064,34 30 | C,Bottom,ID,29,-12.65552778,-71.234,410,25.66666667,0.61101,1,9,3.708,38.56666667,3.074627349,0.189333333,0.019399313,40 31 | C,Bottom,ID,30,-12.65616667,-71.23258333,378,26.26666667,0.152753,1,6,4.465,32.63333333,2.750151511,0.267666667,0.079349438,44 32 | D,Top,HG,31,-13.11055556,-71.60405556,3213,13.7,0.173205,8,76,6.4,36.5,2.00748599,0.328333333,0.0140119,44 33 | D,Top,HG,32,-13.11055556,-71.60413889,3211,13.2,0.1,10,72,6.761,41.73333333,3.407834112,0.423666667,0.026501572,74 34 | D,Top,HG,33,-13.11047222,-71.60372222,3211,13.56666667,0.251661,14,74,7.083,34,0.7,0.346666667,0.006110101,8 35 | D,Top,HG,34,-13.11058333,-71.60405556,3216,13.43333333,0.11547,5,41,4.195,41.66666667,3.813572254,0.339666667,0.010263203,50 36 | D,Top,HG,35,-13.11038889,-71.60408333,3206,13.43333333,0.208167,7,36,4.197,35.2,2.605762844,0.299,0.020880613,33 37 | D,Top,HG,36,-13.11047222,-71.60119444,3216,13.43333333,0.152753,8,46,5.692,32.53333333,0.251661148,0.307333333,0.018770544,94 38 | D,Top,HG,37,-13.11058333,-71.60405556,3218,13.73333333,0.208167,10,55,7.107,46.4,0.692820323,0.378,0.016370706,45 39 | D,Top,HG,38,-13.1105,-71.60408333,3206,13.46666667,0.416333,8,36,5.667,35.9,0.435889894,0.345666667,0.022368132,35 40 | D,Top,HG,39,-13.11038889,-71.60405556,3224,13.26666667,0.057735,9,31,5.2,23.6,2.722131518,0.361333333,0.017672955,132 41 | D,Top,HG,40,-13.11055556,-71.60413889,3211,13.4,0.264575,13,46,8.319,45.1,2.981610303,0.455333333,0.044523402,65 42 | D,Top,HG,41,-13.11052778,-71.60405556,3202,13.5,0.360555,6,13,5.118,39.56666667,3.438507428,0.344,0.009643651,29 43 | E,Bottom,DL,42,-13.048,-71.53513889,1520,18.23333333,0.057735,5,90,4.16,55.16666667,4.65761026,0.333,0.079774683,75 44 | E,Bottom,DL,43,-13.048,-71.53511111,1519,17.63333333,0.057735,5,60,3.218,45.33333333,1.955334583,0.178,0.029546573,34 45 | E,Bottom,DL,44,-13.048,-71.53516667,1521,18.96666667,0.208167,4,40,2.17,43.36666667,3.035347317,0.196333333,0.063129497,26 46 | E,Bottom,DL,45,-13.048,-71.53511111,1520,17.8,0.2,4,65,3.688,37.2,6.22655603,0.132333333,0.024006943,20 47 | E,Bottom,DL,46,-13.04791667,-71.53502778,1515,18.23333333,0.11547,3,45,2.724,44.1,4.563989483,0.133666667,0.010016653,22 48 | E,Bottom,DL,47,-13.04791667,-71.53488889,1511,17.83333333,0.057735,3,40,2.438,49.2,1.769180601,0.167333333,0.044769781,38 49 | E,Bottom,DL,48,-13.04791667,-71.53483333,1512,18.1,0.173205,2,38,2.342,36.9,2.424871131,0.204666667,0.057396283,39 50 | E,Bottom,DL,49,-13.04786111,-71.53480556,1527,17.9,0,4,30,2.109,36.4,1.907878403,0.183333333,0.023352373,31 51 | E,Bottom,DL,50,-13.04783333,-71.53488889,1520,18.46666667,0.057735,4,45,3.175,32.73333333,2.136195996,0.149666667,0.060052755,38 52 | E,Bottom,DL,51,-13.04788889,-71.53497222,1513,17.86666667,0.057735,3,35,2.564,50.53333333,2.995552258,0.172666667,0.0369098,26 53 | E,Middle,MS,52,-13.04986111,-71.53602778,1456,18.3,0,12,15,0.864,38.86666667,1.209683154,0.132,0.044977772,45 54 | E,Middle,MS,53,-13.05008333,-71.53536111,1446,18.76666667,0.11547,14,24,1.495,35.23333333,8.917585622,0.115,0.002645751,139 55 | E,Middle,MS,54,-13.04980556,-71.53594444,1458,17.8,0.173205,12,15,1.065,36.06666667,1.021436896,0.122,0.00781025,100 56 | E,Middle,MS,55,-13.05008333,-71.53533333,1457,18.63333333,0.11547,15,21,1.528,34.1,7.202083032,0.094,0.015716234,112 57 | E,Middle,MS,56,-13.04986111,-71.53555556,1451,18.5,0.1,8,10,0.763,36.7,0.848528137,0.143666667,0.001527525,89 58 | E,Middle,MS,57,-13.04983333,-71.53594444,1461,18.13333333,0.152753,9,11,0.877,32.5,3.421987726,0.107,0.026286879,67 59 | E,Middle,MS,58,-13.04980556,-71.53588889,1464,18.23333333,0.11547,12,12,0.97,24,0.458257569,0.125,0.011532563,56 60 | E,Middle,MS,59,-13.04986111,-71.53558333,1449,18.36666667,0.11547,11,16,1.484,18.6,0.458257569,0.244,0.003,55 61 | E,Bottom,TG,60,-13.04794444,-71.53580556,1530,18.46666667,0.208167,3,25,1.034,46.5,2.651414717,0.115666667,0.015567059,39 62 | E,Bottom,TG,61,-13.04855556,-71.53711111,1513,17.7,0.1,4,29,1.425,34.63333333,1.619670748,0.121333333,0.047353282,104 63 | E,Bottom,TG,62,-13.04833333,-71.53708333,1530,17.3,0,3,26,1.328,41.1,1.587450787,0.103,0.005196152,39 64 | E,Bottom,TG,63,-13.04875,-71.53713889,1510,17.9,0.1,3,24,1.346,33.5,1.2,0.099,0.004358899,93 65 | E,Bottom,TG,64,-13.04863889,-71.53713889,1510,17.8,0.458258,7,30,2.058,41.53333333,1.137248141,0.110333333,0.006658328,120 66 | E,Bottom,TG,65,-13.04875,-71.53713889,1503,17.83333333,0.057735,3,16,1.227,37.8,1.307669683,0.117333333,0.009291573,55 67 | E,Bottom,TG,66,-13.04797222,-71.53613889,1516,18.66666667,0.152753,7,21,1.83,42.26666667,1.078579312,0.122,0.025980762,69 68 | E,Bottom,TG,67,-13.048,-71.53688889,1554,17.83333333,0.057735,5,16,1.417,44.36666667,2.56580072,0.096666667,0.003785939,22 69 | E,Bottom,TG,68,-13.04794444,-71.53594444,1536,18.36666667,0.378594,5,18,1.625,38.13333333,0.665832812,0.162,0.064373908,58 70 | E,Bottom,TG,69,-13.04797222,-71.53711111,1543,18.06666667,0.251661,6,13,1.591,46.43333333,0.472581563,0.117,0.005567764,53 71 | F,Bottom,AV,70,-13.04688889,-71.54327778,1775,17.93333333,0.11547,9,34,1.857,53.5,3.822302971,0.469666667,0.016563011,25 72 | F,Bottom,AV,71,-13.04622222,-71.54397222,1795,18.36666667,0.288675,10,22,1.441,33.56666667,5.173329038,0.349,0.010535654,21 73 | F,Bottom,AV,72,-13.04686111,-71.54325,1787,18.16666667,0.152753,9,18,1.2,NA,NA,NA,NA,23 74 | F,Bottom,AV,73,-13.04716667,-71.54286111,1735,18,0.1,10,16,1.103,NA,NA,NA,NA,39 75 | F,Bottom,AV,74,-13.04675,-71.54336111,1787,17.93333333,0.152753,13,13,1.04,47.93333333,7.003808488,0.448666667,0.024440404,122 76 | F,Bottom,AV,75,-13.04683333,-71.54325,1788,NA,NA,5,10,0.944,32.93333333,2.589079631,0.329,0.009643651,18 77 | F,Bottom,AV,76,-13.04658333,-71.54383333,1783,18.06666667,0.11547,5,7,0.792,25.43333333,3.384277372,0.300666667,0.003511885,66 78 | F,Bottom,AV,77,-13.04655556,-71.54358333,1778,18.36666667,0.46188,6,6,0.738,27.23333333,2.764657905,0.327666667,0.011930353,58 79 | F,Bottom,AV,78,-13.04583333,-71.54433333,1794,18.33333333,0.51316,4,4,0.684,21.1,1.352774926,0.298666667,0.013428825,48 80 | F,Bottom,CR,79,-13.047,-71.54291667,1775,18.03333333,0.152753,11,27,2.673,29.76666667,0.723417814,0.094666667,0.010115994,67 81 | F,Bottom,CT,80,-13.04702778,-71.54294444,1776,18.13333333,0.057735,10,60,6.795,48.33333333,1.167618659,0.388333333,0.010692677,25 82 | F,Bottom,CT,81,-13.04658333,-71.54352778,1763,17.96666667,0.152753,15,49,6.084,56.26666667,2.579405616,0.814333333,0.022052967,43 83 | F,Bottom,CT,82,-13.04688889,-71.54327778,1783,17.33333333,0.057735,15,50,6.638,46.73333333,2.579405616,0.384666667,0.01123981,27 84 | F,Bottom,CT,83,-13.04727778,-71.54252778,1753,18.1,0.173205,3,13,1.766,55.26666667,1.069267662,0.621,0.042532341,8 85 | F,Bottom,CT,84,-13.04744444,-71.54227778,1760,17.96666667,0.057735,8,14,2.108,36.66666667,1.530795,0.584,0.013747727,14 86 | F,Bottom,CT,85,-13.04727778,-71.54241667,1755,18.53333333,0.305505,8,10,1.648,51.86666667,0.115470054,0.907,0.028,41 87 | F,Bottom,CT,86,-13.04755556,-71.54219444,1766,18.3,0,5,12,2.386,30.9,1.96977156,0.372333333,0.02212088,48 88 | F,Bottom,CT,87,-13.04722222,-71.54263889,1749,18.03333333,0.208167,7,10,2.014,46.63333333,2.098412098,0.513333333,0.019756855,28 89 | F,Bottom,CT,88,-13.04727778,-71.54219444,1757,18.83333333,0.152753,11,17,3.436,43.73333333,0.550757055,0.376333333,0.007094599,58 90 | G,Top,CR,89,-13.10594444,-71.58936111,2739,12.7,0.173205,11,28,1.74,33.96666667,5.351946686,0.203333333,0.030287511,20 91 | G,Top,CR,90,-13.10586111,-71.58944444,2739,12.3,0.1,18,48,3.19,29.83333333,1.159022577,0.153,0.016093477,36 92 | G,Top,CR,91,-13.10586111,-71.58941667,2737,12.83333333,0.152753,10,32,2.145,31,3.567912555,0.168333333,0.020207259,53 93 | G,Top,CR,92,-13.10588889,-71.58941667,2740,12.2,0,11,35,2.414,41.9,2.3,0.140333333,0.016258331,39 94 | G,Top,CR,93,-13.10583333,-71.58938889,2737,12.76666667,0.251661,18,45,3.4,43.03333333,1.331665624,0.194666667,0.035641736,51 95 | G,Top,CR,94,-13.10594444,-71.58936111,2739,12.46666667,0.057735,7,25,2.081,36.33333333,4.32935715,0.217333333,0.017039171,41 96 | G,Top,CR,95,-13.10597222,-71.58927778,2729,12.83333333,0.057735,13,23,2.065,42.9,1.345362405,0.199666667,0.031085902,46 97 | G,Top,CR,96,-13.10586111,-71.58944444,2736,12.3,0.2,7,23,3.005,26.9,2.264950331,0.111,0.018734994,39 98 | G,Top,CR,97,-13.10586111,-71.58947222,2737,12.23333333,0.152753,8,11,1.921,19.36666667,1.950213664,0.228333333,0.010115994,118 99 | G,Middle,HG,98,-13.10502778,-71.58875,2727,12.8,0,6,32,3.355,42.23333333,2.223360819,0.287333333,0.00450925,60 100 | G,Middle,HG,99,-13.10541667,-71.58919444,2730,12.96666667,0.152753,5,49,5.163,51.83333333,1.484362939,0.384333333,0.007371115,42 101 | G,Middle,HG,100,-13.10502778,-71.58866667,2724,13.16666667,0.152753,9,27,3.921,45.63333333,0.461880215,0.305,0.003605551,70 102 | G,Middle,HG,101,-13.10522222,-71.58902778,2727,12.7,0.2,8,17,2.512,28.93333333,3.308070938,0.269333333,0.008386497,30 103 | G,Middle,HG,102,-13.10525,-71.58905556,2727,13.1,0.2,6,16,2.401,32.86666667,0.585946528,0.245666667,0.00305505,54 104 | G,Middle,HG,103,-13.10527778,-71.58908333,2728,13,0.1,8,16,2.633,28.5,0.556776436,0.224666667,0.013576941,34 105 | G,Middle,HG,104,-13.10525,-71.58908333,2728,13.06666667,0.152753,7,24,4.024,35.06666667,0.665832812,0.279333333,0.018770544,41 106 | G,Middle,HG,105,-13.10538889,-71.58922222,2732,13.06666667,0.057735,9,18,4.125,34.16666667,3.053413391,0.312333333,0.024378953,17 107 | G,Middle,HG,106,-13.10508333,-71.58902778,2734,13,0.2,10,24,5.575,34.86666667,4.474743941,0.364666667,0.018583146,50 108 | G,Middle,HG,107,-13.10533333,-71.58925,2732,12.93333333,0.152753,8,12,3.84,35.03333333,0.901849951,0.279,0.012529964,33 109 | H,Top,AV,108,-13.07427778,-71.55963889,2090,14.9,0.34641,5,23,1.835,37.86666667,0.838649708,0.408666667,0.004725816,28 110 | H,Top,AV,109,-13.07422222,-71.55963889,2012,15.5,0.1,12,6,0.556,24.93333333,0.960902354,0.374666667,0.080748581,28 111 | H,Top,AV,110,-13.07427778,-71.55975,2026,15.4,0.69282,8,12,1.226,29.96666667,1.006644591,0.290333333,0.05115988,59 112 | H,Top,AV,111,-13.07444444,-71.56,2023,16.73333333,0.057735,11,10,1.122,29.03333333,0.776745347,0.362666667,0.011930353,43 113 | H,Top,AV,112,-13.07447222,-71.55994444,2026,15.06666667,0.493288,5,9,1.042,31.13333333,7.503554713,0.462,0.007211103,37 114 | H,Top,AV,113,-13.07430556,-71.55966667,2023,15.3,0.34641,10,10,1.342,28.35,0.636396103,0.259333333,0.05064912,46 115 | H,Top,AV,114,-13.0745,-71.55991667,2016,16.06666667,0.251661,9,8,1.383,31.53333333,2.706165799,0.556,0.013114877,34 116 | H,Top,AV,115,-13.07738889,-71.55986111,2026,15.7,0.34641,13,12,2.102,32.56666667,2.532455988,0.444666667,0.043500958,11 117 | H,Middle,CT,116,-13.07425,-71.55966667,2031,16.36666667,0.11547,11,57,3.615,31.9,1.664331698,0.463333333,0.002081666,24 118 | H,Middle,CT,117,-13.074,-71.55947222,2012,16.76666667,0.929157,13,32,3.469,37.03333333,9.190393535,0.56,0.014933185,25 119 | H,Middle,CT,118,-13.07391667,-71.55941667,2012,15.66666667,0.11547,10,30,3.396,44.86666667,2.498666311,0.611333333,0.029005747,56 120 | H,Middle,CT,119,-13.07433333,-71.55983333,2024,15.86666667,0.11547,14,26,3.148,43.86666667,1.011599394,0.605333333,0.021733231,42 121 | H,Middle,CT,120,-13.07427778,-71.55983333,2022,15.26666667,0.416333,6,40,5.276,34.3,1.7,0.354333333,0.010503968,25 122 | H,Middle,CT,121,-13.07402778,-71.55947222,2012,15.43333333,0.665833,12,32,4.303,34.23333333,0.642910051,0.356333333,0.017214335,47 123 | H,Middle,CT,122,-13.07425,-71.55975,2029,15.33333333,0.208167,9,15,2.261,25.06666667,1.644181661,0.393666667,0.011590226,42 124 | H,Middle,CT,123,-13.07425,-71.55975,2029,16,0.1,10,21,3.406,37.93333333,0.901849951,0.432666667,0.008386497,28 125 | H,Middle,CT,124,-13.07427778,-71.55977778,2029,15.76666667,0.57735,9,17,3.849,42.2,9.182047702,0.514,0.007937254,40 126 | H,Top,MS,125,-13.07419444,-71.55969444,2023,15.53333333,0.057735,20,44,1.16,22.96666667,1.171893055,0.217333333,0.004932883,52 127 | H,Top,MS,126,-13.07433333,-71.55980556,2036,15.66666667,0.416333,10,21,0.854,19.66666667,0.971253486,0.190666667,0.025403412,29 128 | H,Top,MS,127,-13.07427778,-71.55972222,2031,16.06666667,0.23094,9,27,1.235,26.76666667,0.37859389,0.189333333,0.005507571,25 129 | H,Top,MS,128,-13.07436111,-71.55975,2036,16.33333333,0.208167,8,17,0.82,31.36666667,1.201388086,0.220666667,0.02136196,59 130 | H,Top,MS,129,-13.07433333,-71.55980556,2032,16.23333333,0.305505,12,16,0.891,22.76666667,0.461880215,0.234333333,0.042193996,34 131 | H,Top,MS,130,-13.07425,-71.55963889,2027,16.83333333,0.493288,23,27,1.602,33.76666667,0.4163332,0.211333333,0.056305713,36 132 | H,Top,MS,131,-13.07430556,-71.55977778,2030,15.6,0.519615,7,25,1.522,26.96666667,0.86216781,0.220666667,0.02557994,34 133 | H,Top,MS,132,-13.07430556,-71.55969444,2025,15.73333333,0.251661,12,15,1.034,24.16333333,0.988955678,0.22,0.013,39 134 | H,Top,MS,133,-13.07430556,-71.55969444,2035,15.86666667,0.057735,12,17,1.622,34.76666667,1.550268794,0.202,0.003605551,32 135 | H,Top,MS,134,-13.07413889,-71.55958333,2022,16.2,0.1,9,19,2.044,36,2.364318084,0.25,0.008717798,43 136 | H,Middle,SP,135,-13.07425,-71.55958333,2023,15.8,0.264575,41,63,5.333,42.03333333,0.550757055,0.287,0.004358899,38 137 | H,Middle,SP,136,-13.07408333,-71.55952778,2013,15.5,0.458258,5,33,2.871,34.96666667,2.454248018,0.223666667,0.003511885,23 138 | H,Middle,SP,137,-13.07422222,-71.55938889,2030,15.93333333,0.152753,15,49,4.435,31.66666667,5.70730526,0.213,0,69 139 | H,Middle,SP,138,-13.07394444,-71.55941667,2013,15.86666667,0.321455,15,41,3.955,36.5,1.126942767,0.248333333,0.01761628,43 140 | H,Middle,SP,139,-13.07425,-71.5595,2024,15.96666667,0.321455,11,33,3.233,26.06666667,1.46401275,0.219666667,0.012858201,57 141 | H,Middle,SP,140,-13.07405556,-71.55947222,2012,15.63333333,0.11547,13,42,4.373,33.93333333,3.847510017,0.224,0.001732051,31 142 | H,Middle,SP,141,-13.07394444,-71.55941667,2013,16.33333333,0.152753,8,24,2.878,34.66666667,0.850490055,0.239666667,0.005686241,45 143 | H,Middle,SP,142,-13.07419444,-71.55947222,2028,16.2,0.3,10,21,3.026,26.43333333,0.776745347,0.356,0.005196152,47 144 | H,Middle,SP,143,-13.07425,-71.55941667,2028,15.46666667,0.351188,5,12,1.864,29.8,1.307669683,0.208333333,0.001527525,55 145 | H,Middle,SP,144,-13.07419444,-71.55947222,2028,15.16666667,0.11547,3,14,2.292,30.5,1.345362405,0.206,0.01473092,108 146 | H,Middle,SP,145,-13.07419444,-71.55938889,2031,15.5,0.1,9,17,3.012,37.33333333,0.493288286,0.212666667,0.005686241,35 147 | H,Middle,SP,146,-13.07422222,-71.55947222,2027,15.2,0.1,5,10,2.011,19.36666667,0.642910051,0.160333333,0.007767453,56 148 | I,Middle,CR,147,-13.07972222,-71.56583333,2307,14.66666667,0.23094,12,80,2.545,24.7,1.992485885,0.24,0.003605551,27 149 | I,Middle,CR,148,-13.07963889,-71.566,2280,14.36666667,0.23094,5,40,1.583,29.66666667,1.006644591,0.121,0.024248711,27 150 | I,Middle,CR,149,-13.07977778,-71.56616667,2288,14.36666667,0.152753,9,29,1.431,23.33333333,0.251661148,0.1195,0.036062446,37 151 | I,Middle,CR,150,-13.07969444,-71.56597222,2294,14.83333333,0.057735,6,31,1.672,23.26666667,2.145538006,0.105666667,0.012055428,29 152 | I,Middle,CR,151,-13.07963889,-71.56605556,2284,15.76666667,0.251661,10,35,2.185,26.16666667,0.680685929,0.125666667,0.003785939,27 153 | I,Middle,CR,152,-13.07963889,-71.56597222,2291,14.63333333,0.288675,17,19,1.471,26.06666667,1.644181661,0.090666667,0.012013881,18 154 | I,Middle,CR,153,-13.07963889,-71.56594444,2280,14.56666667,0.251661,10,28,2.201,36.1,0.435889894,0.143333333,0.020599353,21 155 | I,Middle,CR,154,-13.07963889,-71.566,2283,15,0.173205,8,21,1.745,25.93333333,1.450287328,0.08,0.007,40 156 | I,Middle,CR,155,-13.07963889,-71.56597222,2281,15.03333333,0.23094,7,15,1.46,29.83333333,2.00333056,0.189,0.038626416,22 157 | I,Top,CT,156,-13.07969444,-71.56055556,2281,14.43333333,0.11547,8,20,0.79,32.76666667,0.896288644,0.499666667,0.002516611,24 158 | I,Top,CT,157,-13.07975,-71.56613889,2292,14.5,0.264575,11,55,3.85,39.1,1.752141547,0.464666667,0.007767453,35 159 | I,Top,CT,158,-13.07988889,-71.56630556,2280,14.2,0.1,10,29,2.835,31.33333333,2.274496281,0.586,0.021931712,51 160 | I,Top,CT,159,-13.07961111,-71.566,2281,16.4,2.628688,4,22,2.33,43.23333333,1.30511813,0.599333333,0.01040833,65 161 | I,Top,CT,160,-13.07977778,-71.56625,2279,14.3,0.72111,9,18,2.108,35.73333333,1.921804707,0.632,0.06022458,32 162 | I,Top,CT,161,-13.07955556,-71.56588889,2283,13.73333333,0.404145,11,14,1.923,24.43333333,0.8326664,0.383333333,0.02193931,19 163 | I,Top,CT,162,-13.07941667,-71.56608333,2289,14.3,0,13,40,5.635,42.23333333,3.69639464,0.914,0.001732051,47 164 | I,Top,CT,163,-13.07958333,-71.56591667,2283,15.73333333,0.321455,19,34,5.232,63.6,3.67559519,0.629666667,0.014468356,73 165 | I,Top,CT,164,-13.07966667,-71.56616667,2261,14.6,0.264575,8,15,4.427,39.7,6.081118318,0.396,0.011135529,61 166 | I,Top,CT,165,-13.07963889,-71.56613889,2267,14.7,0.458258,9,6,1.942,28.8,4.590206967,1.177666667,0.0592143,59 167 | I,Top,SP,166,-13.07941667,-71.56608333,2289,14.6,0.2,16,40,3.8,31.56666667,3.647373484,0.246,0.006082763,40 168 | I,Top,SP,167,-13.07966667,-71.56605556,2292,14.8,0,6,10,1.07,19.33333333,0.757187779,0.197666667,0.008736895,39 169 | I,Top,SP,168,-13.07963889,-71.56616667,2252,13.83333333,0.057735,4,17,1.941,NA,NA,NA,NA,25 170 | I,Top,SP,169,-13.07972222,-71.56616667,2278,14.2,0.2,7,16,1.91,NA,NA,NA,NA,22 171 | I,Top,SP,170,-13.07966667,-71.56602778,2291,13.3,0.5,2,22,3.001,24.73333333,2.454248018,0.206333333,0.014468356,34 172 | I,Top,SP,171,-13.07961111,-71.56597222,2286,14.46666667,0.351188,18,25,3.453,32.46666667,0.513160144,0.266,0.028478062,51 173 | I,Top,SP,172,-13.0795,-71.56602778,2282,15.36666667,0.152753,15,12,1.789,26.2,2.551470164,0.163,0.009539392,54 174 | I,Top,SP,173,-13.07961111,-71.56613889,2266,14.76666667,0.70946,6,17,3.023,35.03333333,3.197394773,0.263,0.005291503,59 175 | I,Top,SP,174,-13.07927778,-71.56555556,2261,14.96666667,0.57735,7,7,1.41,20.26666667,4.833563213,0.158666667,0.002309401,36 176 | I,Top,SP,175,-13.07972222,-71.56611111,2289,13.6,0.1,5,15,3.2,31.06666667,2.00083316,0.243,0.003605551,47 177 | I,Top,SP,176,-13.07963889,-71.56616667,2251,14.73333333,0.11547,6,15,3.983,30.4,1.374772708,0.26,0.003464102,31 178 | I,Top,SP,177,-13.07930556,-71.56555556,2261,16.2,0.458258,8,10,4.236,26.66666667,0.461880215,0.221,0.002645751,54 179 | J,Middle,AV,178,-13.07047222,-71.55608333,1881,18.93333333,1.619671,17,74,2.955,31.5,0.360555128,0.198333333,0.006110101,18 180 | J,Middle,AV,179,-13.07063889,-71.55613889,1894,18.4,0.458258,6,14,0.803,34.56666667,0.251661148,0.279666667,0.015143756,30 181 | J,Middle,AV,180,-13.07055556,-71.556,1885,18.66666667,0.321455,8,51,3.627,38,2.762245463,0.397,0.02463737,23 182 | J,Middle,AV,181,-13.07052778,-71.55594444,1866,18.1,0.1,6,14,1.254,31.4,1.276714533,0.491,0.057887823,28 183 | J,Middle,AV,182,-13.07013889,-71.55563889,1872,15.9,0.264575,6,6,1.063,36.7,1.058300524,0.283333333,0.004163332,62 184 | J,Bottom,CR,183,-13.07094444,-71.55597222,1860,19.56666667,0.404145,9,47,2.844,33.4,0.346410162,0.106333333,0.008621678,36 185 | J,Bottom,CR,184,-13.06997222,-71.55566667,1827,17.06666667,0.152753,4,17,1.098,22.9,0.692820323,0.119,0.030610456,37 186 | J,Bottom,CR,185,-13.06988889,-71.5555,1820,17.6,0.360555,7,25,1.659,26.56666667,0.230940108,0.150333333,0.015275252,26 187 | J,Bottom,CR,186,-13.07013889,-71.55586111,1881,17.4,0.173205,12,17,1.505,31.1,1.838477631,0.202,0.025238859,40 188 | J,Bottom,CR,187,-13.07013889,-71.55563889,1872,16.83333333,0.321455,7,11,0.975,29.7,1.3,0.109,0.005,59 189 | J,Bottom,CR,188,-13.06997222,-71.55566667,1827,16.96666667,0.057735,5,11,1.312,29.75,0.636396103,0.084666667,0.010969655,28 190 | J,Top,DL,189,-13.06991667,-71.55561111,1813,16.26666667,0.251661,4,63,2.295,37.13333333,3.550117369,0.169333333,0.047878318,34 191 | J,Top,DL,190,-13.06991667,-71.55555556,1815,15.86666667,0.057735,4,69,3.192,40.73333333,5.299371032,0.386666667,0.027934447,45 192 | J,Top,DL,191,-13.06991667,-71.55547222,1811,15.63333333,0.152753,3,81,4.317,43.46666667,1.4571662,0.281,0.090116591,29 193 | J,Top,DL,192,-13.06991667,-71.55558333,1814,16.03333333,0.11547,1,55,3.251,32.13333333,5.532027958,0.190666667,0.062803928,50 194 | J,Top,DL,193,-13.06991667,-71.55547222,1812,15.96666667,0.208167,2,37,2.229,32.96666667,4.7648015,0.239833333,0.079262749,43 195 | J,Top,DL,194,-13.06952778,-71.55544444,1789,16.8,0.264575,3,42,2.786,30.76666667,1.331665624,0.158,0.025942244,53 196 | J,Top,DL,195,-13.06955556,-71.55544444,1791,16.36666667,0.057735,2,47,3.279,34.93333333,1.404753834,0.252333333,0.076428616,32 197 | J,Top,DL,196,-13.0695,-71.55544444,1789,16.73333333,0.152753,4,32,2.253,36.1,2.338803113,0.182333333,0.063437633,50 198 | J,Top,DL,197,-13.06986111,-71.55541667,1813,16.53333333,0.251661,3,37,2.621,24.06666667,0.808290377,0.179666667,0.076774562,42 199 | J,Top,DL,198,-13.06983333,-71.55541667,1817,16,0.173205,2,42,3.227,37.4,4.158124577,0.213333333,0.068646437,45 200 | J,Bottom,HG,199,-13.07058333,-71.55583333,1860,18.16666667,0.152753,8,84,3.739,41,3.207802986,0.271,0.020952327,49 201 | J,Bottom,HG,200,-13.06991667,-71.5555,1832,18.2,0.2,7,18,0.864,24.46666667,0.493288286,0.218333333,0.018339393,28 202 | J,Bottom,HG,201,-13.06963889,-71.55922222,1805,19.36666667,0.11547,8,38,2.091,32.23333333,1.00166528,0.273333333,0.028988503,50 203 | J,Bottom,HG,202,-13.06980556,-71.55519444,1831,18.55,0.353553,10,40,3.156,34.8,2.690724809,0.251333333,0.017785762,48 204 | J,Bottom,HG,203,-13.06977778,-71.55547222,1822,18,0.264575,11,41,3.359,34.66666667,0.723417814,0.245333333,0.02548202,30 205 | J,Bottom,HG,204,-13.07033333,-71.55616667,1818,18.06666667,0.251661,8,26,2.332,17.9,1.479864859,0.218,0.008717798,24 206 | J,Bottom,HG,205,-13.07044444,-71.55605556,1848,18.23333333,0.750555,6,26,2.417,35.13333333,1.789785834,0.26,0.014,40 207 | J,Bottom,HG,206,-13.07044444,-71.55569444,1817,17.53333333,0.585947,9,36,4.51,37.96666667,1.950213664,0.228666667,0.015885003,58 208 | J,Bottom,HG,207,-13.07013889,-71.55563889,1872,17.26666667,0.404145,7,14,1.893,23.4,1.3,0.218666667,0.030892286,49 209 | J,Bottom,HG,208,-13.06988889,-71.55519444,1820,18.8,0.264575,10,35,8.061,34.7,2.443358345,0.276,0.009539392,28 210 | J,Bottom,SP,209,-13.07038889,-71.55583333,1841,16.7,0.52915,22,77,2.509,49.96666667,1.715614564,0.203333333,0.012013881,30 211 | J,Bottom,SP,210,-13.07030556,-71.55586111,1849,16.23333333,0.11547,33,97,5.446,42.43333333,3.200520791,0.192,0.013228757,33 212 | J,Bottom,SP,211,-13.07047222,-71.55577778,1861,17.3,0.4,5,31,2.509,29.7,1.928730152,0.186,0.00781025,56 213 | J,Bottom,SP,212,-13.07038889,-71.55586111,1849,18.63333333,0.152753,10,82,6.638,40.23333333,1.844812547,0.314,0.011357817,46 214 | J,Bottom,SP,213,-13.0705,-71.55577778,1862,17.16666667,0.23094,14,41,4.591,32.56666667,0.550757055,0.209,0.013228757,44 215 | J,Bottom,SP,214,-13.07052778,-71.55616667,1860,16.63333333,0.450925,14,47,6.167,32.16666667,1.021436896,0.272333333,0.009609024,37 216 | J,Bottom,SP,215,-13.07036111,-71.55586111,1823,16.03333333,0.152753,9,27,4.4,34.76666667,1.12398102,0.248,0.016822604,54 217 | J,Bottom,SP,216,-13.07016667,-71.55552778,1834,17,0.2,6,16,3.008,22.2,0.173205081,0.191,0.006244998,74 218 | J,Bottom,SP,217,-13.0705,-71.55577778,1862,18.7,1.228821,5,5,1.708,28.66666667,0.37859389,0.235666667,0.010066446,19 219 | J,Top,TG,218,-13.06958333,-71.55544444,1791,17,0.1,4,30,1.739,30.13333333,0.75055535,0.096,0.003605551,26 220 | J,Top,TG,219,-13.06986111,-71.5555,1838,16.23333333,0.251661,3,25,1.549,19.03333333,0.802080628,0.159666667,0.022368132,33 221 | J,Top,TG,220,-13.06991667,-71.55558333,1814,16.16666667,0.321455,3,17,1.08,30.26666667,2.138535324,0.133333333,0.021962089,50 222 | J,Top,TG,221,-13.06958333,-71.55530556,1791,16.13333333,0.288675,5,22,1.469,40.23333333,1.619670748,0.150666667,0.036018514,38 223 | J,Top,TG,222,-13.06955556,-71.55541667,1792,16.83333333,0.057735,3,20,1.336,43.5,2.511971337,0.154333333,0.035161532,14 224 | J,Top,TG,223,-13.06966667,-71.55536111,1796,15.43333333,0.057735,4,25,1.679,38.3,2.066397832,0.125333333,0.009291573,17 225 | J,Top,TG,224,-13.06983333,-71.55533333,1846,16.3,0.87178,4,21,1.56,38.03333333,1.101514109,0.151333333,0.045610671,36 226 | J,Top,TG,225,-13.06961111,-71.55530556,1791,17.26666667,0.305505,3,19,1.481,37.2,1.9,0.124,0.003605551,50 227 | J,Top,TG,226,-13.06961111,-71.55536111,1792,17.63333333,0.378594,4,19,1.483,36.2,2.170253441,0.124333333,0.002516611,60 228 | J,Top,TG,227,-13.07013889,-71.55561111,1838,17.23333333,0.11547,5,19,2.561,39.33333333,2.59293913,0.109333333,0.001527525,72 229 | -------------------------------------------------------------------------------- /06_Shiny/Challenge_Apps/seedling_traits_example/app.R: -------------------------------------------------------------------------------- 1 | # Exploring seedling traits across elevation in a Shiny app 2 | # John Godlee (johngodlee@gmail.com) 3 | # 2017-5-02 4 | 5 | # Packages ---- 6 | library(shiny) 7 | library(ggplot2) 8 | 9 | # Loading data ---- 10 | seedlings <- read.csv("Data/Seedling_Elevation_Traits.csv") 11 | 12 | # ui.R 13 | ui <- fluidPage( 14 | titlePanel("Investigating Seedling Traits across Elevation"), 15 | sidebarLayout( 16 | sidebarPanel( 17 | checkboxGroupInput(inputId = "species", 18 | label = "Species", 19 | choices = unique(seedlings$Species), 20 | selected = unique(seedlings$Species)[1] 21 | ), 22 | selectInput(inputId = 'trait', 23 | label = 'Trait', 24 | choices = c("Height (cm)" = "Height.cm", 25 | "Number of leaves" = "Num.leaves", 26 | "Mean leaf thickness (cm)" = "Leaf.thickness.mean.mm", 27 | "Stem width (mm)" = "Width.mm"), 28 | selected = NULL)), 29 | mainPanel(plotOutput("traitplot")) 30 | ) 31 | ) 32 | 33 | # Define server logic required to draw a histogram 34 | server <- function(input, output) { 35 | output$traitplot <- renderPlot( 36 | ggplot(data = seedlings[seedlings$Species %in% input$species,], 37 | aes_string(x = "Elevation.m", y = input$trait)) + 38 | geom_point(aes(colour = Species)) + theme_classic() 39 | ) 40 | } 41 | 42 | # Run the application 43 | shinyApp(ui = ui, server = server) 44 | 45 | -------------------------------------------------------------------------------- /06_Shiny/Challenge_Apps/seedling_traits_example/rsconnect/shinyapps.io/johngodlee/seedling_traits_example.dcf: -------------------------------------------------------------------------------- 1 | name: seedling_traits_example 2 | title: seedling_traits_example 3 | account: johngodlee 4 | server: shinyapps.io 5 | appId: 177139 6 | bundleId: 811585 7 | url: https://johngodlee.shinyapps.io/seedling_traits_example/ 8 | when: 1493719728.14081 9 | asMultiple: FALSE 10 | asStatic: FALSE 11 | -------------------------------------------------------------------------------- /06_Shiny/Example_App/app.R: -------------------------------------------------------------------------------- 1 | # An example app for use in ourcodinclub.github.io Shiny tutorial 2 | # John Godlee (johngodlee@gmail.com) 3 | # 2017-05-03 4 | 5 | # Packages ---- 6 | library(shiny) # Required to run any Shiny app 7 | library(ggplot2) # For creating pretty plots 8 | library(dplyr) # For filtering and manipulating data 9 | library(agridat) # The package where "beaven.barley" comes from 10 | 11 | # Loading Data ---- 12 | Barley <- as.data.frame(beaven.barley) 13 | 14 | # ui.R ---- 15 | ui <- 16 | fluidPage( 17 | titlePanel("Barley Yield"), 18 | sidebarLayout( 19 | position = "right", 20 | sidebarPanel(h3("Inputs for histogram"), 21 | selectInput("gen", "1. Select genotype", choices = c("A" = "a","B" = "b","C" = "c","D" = "d","E" = "e","F" = "f","G" = "g","H" = "h"), selected = "a"), 22 | br(), 23 | selectInput("col", "2. Select histogram colour", choices = c("blue","green","red","purple","grey"), selected = "grey"), 24 | br(), 25 | sliderInput("bin", "3. Select number of histogram bins", min=1, max=25, value= c(10)), 26 | br(), 27 | textInput("text", "4. Enter some text to be displayed", "")), 28 | mainPanel( 29 | plotOutput("myhist"), 30 | tableOutput("mytable"), 31 | textOutput("mytext") 32 | ) 33 | ) 34 | ) 35 | 36 | # server.R ---- 37 | server <- function(input, output) { 38 | output$myhist <- renderPlot(ggplot(Barley, aes(x = yield)) + geom_histogram(bins = input$bin, 39 | fill = input$col, 40 | group=input$gen, 41 | data=Barley[Barley$gen == input$gen,], 42 | colour = "black")) 43 | output$mytext <- renderText(input$text) 44 | 45 | output$mytable <- renderTable(Barley %>% 46 | filter(gen == input$gen) %>% 47 | summarise("Mean" = mean(yield), 48 | "Median" = median(yield), 49 | "STDEV" = sd(yield), 50 | "Min" = min(yield), 51 | "Max" = max(yield))) 52 | } 53 | 54 | # Run the app ---- 55 | shinyApp(ui = ui, server = server) 56 | -------------------------------------------------------------------------------- /06_Shiny/README.md: -------------------------------------------------------------------------------- 1 | # CC-11-Shiny 2 | Using Shiny to create interactive web-apps 3 | 4 | This repository contains the files necessary to complete the Coding Club Shiny tutorial - you can check it out at: 5 | [https://ourcodingclub.github.io/2017/03/07/shiny.html](https://ourcodingclub.github.io/2017/03/07/shiny.html) 6 | 7 | The subdirectory `Example_App` contains an example Shiny application which can be recreated using the online tutorial. 8 | 9 | The subdirectory `Challenge_Apps` contains examples of apps to be emulated in the tutorial challenge 10 | 11 | 12 | `shiny-cheatsheet.pdf` was downloaded from https://www.rstudio.com/wp-content/uploads/2015/02/shiny-cheatsheet.pdf 13 | 14 | For more about Coding Club, please see https://ourcodingclub.github.io/ 15 | 16 | Check out https://ourcodingclub.github.io/workshop/ to learn how you can get involved! 17 | 18 | We would love to hear your feedback on the tutorial, whether you did it at a Coding Club workshop or online: 19 | [https://www.surveymonkey.co.uk/r/PC9RT6R](https://www.surveymonkey.co.uk/r/PC9RT6R) 20 | 21 | This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/). 22 | 23 | [![License: CC BY-SA 4.0](https://licensebuttons.net/l/by-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/) 24 | -------------------------------------------------------------------------------- /06_Shiny/shiny-cheatsheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ourcodingclub/CC_course_stream2/cf010cdaf32f698a459e565c52d48922027b2928/06_Shiny/shiny-cheatsheet.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Wiz of Data Vis 2 | ### Stream 2 Wiz of Data Viz of Coding Club's *Data Science for Ecologists and Environmental Scientists* course 3 | 4 | Here you will find all the course materials for the "Wiz of Data Vis" stream of our Data Science course, e.g. the datasets used in the tutorials, and occasionally some starter scripts. 5 | 6 | ### How to use this repository 7 | 8 | Each tutorial has a link to a GitHub repository that contains the data needed to work through the code examples. If you are only planning on doing a few tutorials from this stream, you may choose to download only specific materials, but otherwise, __we suggest you download this whole repository in one go__, and therefore you will not have to download data folders separately each time. 9 | 10 | + Click on the green button *"Clone or Download"* in the top right corner of the screen. 11 | + Download the repository as a ZIP file, and save it preferably somewhere close to the root of your computer (e.g. *C:/CC_course_stream2*). __Avoid saving it in a folder that has spaces of special characters in its name.__ 12 | + All the data is now on your computer! 13 | 14 | __For even better ease of working, you can create a Project in RStudio that will be associated with the Stream folder.__ 15 | + In RStudio, go to *File / New Project / Create from existing directory* and navigate to your folder. 16 | + Create the project. You should see the name of your project appear in the top right corner. 17 | + Now, instead of setting a _working directory_ in each script, you can use _relative paths_ to load your data. This is good practice because you could share the whole folder with someone else, and as long as they create a project in the main Stream folder too, they will be able to run your code without changing anything. 18 | 19 | 20 | ### Working through the tutorials 21 | 22 | You will notice that the tutorial folders have been numbered; this is only a suggestion of a logical, progressive order for this stream, but you don't have to follow it! 23 | 24 | The online tutorials that are currently part of this stream are: 25 | 26 | + Efficient data manipulation 27 | + Data Vis 1 (intro to ggplot2) 28 | + Data Vis 2 (more advanced ggplot2) 29 | + Spatial analysis 30 | + Using Markdown to create reports 31 | + Getting started with Shiny apps 32 | 33 | This course is created by the Coding Club with support from the University of Edinburgh and the Data Lab . 34 | 35 | This work is licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/). 36 | 37 | [![License: CC BY-SA 4.0](https://licensebuttons.net/l/by-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-sa/4.0/) 38 | 39 | 40 | --------------------------------------------------------------------------------