├── .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 | [](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 | [](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 | [](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 | [](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 | [](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 | [](https://creativecommons.org/licenses/by-sa/4.0/)
38 |
39 |
40 |
--------------------------------------------------------------------------------