2014 - Arborea - Pinus pinea plantation 4 (50 m * 50 m) plots Each plot is divided in (10 m side) squared subplots identified using the following scheme:
“A5” “B5” “C5” “D5” “E5”
“A4” “B4” “C4” “D4” “E4”
“A3” “B3” “C3” “D3” “E3”
“A2” “B2” “C2” “D2” “E2”
“A1” “B1” “C1” “D1” “E1”
In each subplot, point positions have been registered measuring the distances from the extremes of one side. Let ‘a’ be the side used as reference for the positions measurements. We will define a local cartesian sistem for each subplot using ‘a’ as ‘x axis’ and the left extreme of ‘a’, say ‘A’, as origin (0,0) The coordinates of the point on opposite extreme of ‘a’, say ‘B’, are hence (10, 0) For each registered point, say ‘C’, the distances (AC), say ‘c’, and (BC), say ‘b’, have been measured and registered. To compute local cartesian coordinates of point ‘C’, say (lx, ly), one can exploit Erone’s formula, actually reversing it. (see: https://it.wikipedia.org/wiki/Formula_di_Erone ‘Dimostrazione alternativa’) \[ \begin{eqnarray} x & = & \frac {(a^{2}-b^{2}+c^{2})} {2a} \\ y & = & \frac {\sqrt{(4a^{2}c^{2}-(a^{2}-b^{2}+c^{2})^{2})}} {2a} \end{eqnarray} \]
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 3.3.3
## Loading tidyverse: ggplot2
## Loading tidyverse: tibble
## Loading tidyverse: tidyr
## Loading tidyverse: readr
## Loading tidyverse: purrr
## Loading tidyverse: dplyr
## Warning: package 'ggplot2' was built under R version 3.3.3
## Warning: package 'tibble' was built under R version 3.3.3
## Warning: package 'tidyr' was built under R version 3.3.3
## Warning: package 'readr' was built under R version 3.3.3
## Warning: package 'purrr' was built under R version 3.3.3
## Warning: package 'dplyr' was built under R version 3.3.3
## Conflicts with tidy packages ----------------------------------------------
## filter(): dplyr, stats
## lag(): dplyr, stats
library(magrittr)
##
## Attaching package: 'magrittr'
## The following object is masked from 'package:purrr':
##
## set_names
## The following object is masked from 'package:tidyr':
##
## extract
library(googlesheets)
## Warning: package 'googlesheets' was built under R version 3.3.3
library(spatstat)
## Warning: package 'spatstat' was built under R version 3.3.3
## Loading required package: nlme
##
## Attaching package: 'nlme'
## The following object is masked from 'package:dplyr':
##
## collapse
## Loading required package: rpart
##
## spatstat 1.52-1 (nickname: 'Apophenia')
## For an introduction to spatstat, type 'beginner'
##
## Note: R version 3.3.2 (2016-10-31) is more than 9 months old; we strongly recommend upgrading to the latest version
suppressMessages(library(dplyr))
gs_ls()
## Warning: package 'bindrcpp' was built under R version 3.3.3
## # A tibble: 251 x 10
## sheet_title author perm version
## <chr> <chr> <chr> <chr>
## 1 GO_baseDati scotti rw old
## 2 registro_attivita sfcampus rw old
## 3 bozza programma dettagl
anto.ganga rw old
## 4 Scheda rilievo cristian.ibba rw old
## 5 Confronto marche scotti rw old
## 6 DatiConcas dsch93tortoli rw old
## 7 BaseDati_AnimatedMovies
scotti rw old
## 8 QUERY type dominance in
ahbanen rw old
## 9 tempAA scotti rw old
## 10 ValoriMonetariEdAnni scotti rw old
## # ... with 241 more rows, and 6 more variables: updated <dttm>,
## # sheet_key <chr>, ws_feed <chr>, alternate <chr>, self <chr>,
## # alt_key <chr>
tpp <- gs_title("DatiConcas")
## Sheet successfully identified: "DatiConcas"
gs_ws_ls(tpp)
## [1] "Anagrafica" "RaccoltaFogliDati" "Correzioni"
plot_window <- tpp %>% gs_read(ws="Anagrafica")
## Accessing worksheet titled 'Anagrafica'.
## Parsed with column specification:
## cols(
## plot = col_integer(),
## x00 = col_integer(),
## y00 = col_integer(),
## x01 = col_integer(),
## y01 = col_integer(),
## Rilevatori = col_character(),
## Data_rilievo = col_character(),
## `x_gps_(NE)` = col_integer(),
## `y_gps_(NE)` = col_integer()
## )
ppwm <- tpp %>% gs_read(ws="RaccoltaFogliDati")
## Accessing worksheet titled 'RaccoltaFogliDati'.
## Parsed with column specification:
## cols(
## plot = col_integer(),
## subplot = col_character(),
## id_sogetto = col_character(),
## species = col_character(),
## c = col_integer(),
## b = col_integer(),
## dbhNS = col_double(),
## dbhEO = col_integer(),
## h_tot = col_integer(),
## h_crown_ins = col_integer(),
## crown_rN = col_integer(),
## crown_rE = col_integer(),
## crown_rS = col_integer(),
## crown_rO = col_integer(),
## age = col_integer()
## )
# Nei tabelloni originari (1 per plot!!) il calcolo delle coordinate cartesiane è sviluppato nei fogli 'cooridinate' che, in generale, pescano i valori da 'Dati'. I casi per i quali 'b'+'c'<10m sono però corretti direttamente in 'cooridinate'!! La tabella 'corr' raccolglie le differenze riscontrate tra 'Dati' e 'cooridinate'.
corr <- tpp %>% gs_read(ws="Correzioni", col_types=cols(id_sogetto = col_character()))
## Accessing worksheet titled 'Correzioni'.
nais0 <- function(num) {
return(ifelse(is.na(num), 0, num))
}
# apply corrections
ppwm01 <- ppwm %>%
left_join(corr) %>%
mutate(b = ifelse(is.na(b_corr), b, b_corr),
c = ifelse(is.na(c_corr), c, c_corr)) %>%
select(-ends_with("_corr"))
## Joining, by = c("plot", "subplot", "id_sogetto")
plot_window <- tribble( ~plot, ~x00, ~y00, ~x01, ~y01, 1, 0, 0, 5000, 5000, 2, 0, 0, 5000, 5000, 3, 0, 0, 5000, 4000, 4,1000, 0, 2000, 5000 )
# compute subplots origins
side <- 1:5
subplot_origin <- expand.grid(c=side, r=side) %>%
mutate(subplot = paste(LETTERS[c], r, sep=""),
x0 = 1000 * (c - 1),
y0 = 1000 * (r - 1)) %>%
select(-r, -c)
# distances are registered as cm (integers)
a = 10*100
ppwm02 <- ppwm01 %>%
# compute local cartesian coordiantes (lx, ly)
mutate(lx = (a^2 - b^2 + c^2)/(2*a),
ly = sqrt((4*a^2*c^2 - (a^2 - b^2 + c^2)^2))/(2*a),
#(alternativa di Laura) ly = sqrt((2*(a^2*b^2 + a^2*c^2 + b^2*c^2)- (a^4 + b^4 + c^4))/(2*a)))
dbh = ifelse(is.na(dbhEO),dbhNS,sqrt((dbhNS^2+dbhEO^2)/2)),
basal_area = pi * dbh^2/4,
crown_area = pi * (nais0(crown_rE^2)+nais0(crown_rO^2)+nais0(crown_rN^2)+nais0(crown_rS^2))/4
) %>%
# compute plot-wise coordinates (x, y)
full_join(subplot_origin) %>%
mutate(x = (x0 + lx),
y = (y0 + ly))
## Joining, by = "subplot"
# CREATE one PPP object for each 'plot'
cf <- 1/100 # conversion of "cm" to "m"
# marks = .[,7:16],
pw <- plot_window %>%
group_by(plot) %>%
do(window = owin(xrange=c(.$x00 * cf, .$x01 * cf),
yrange=c(.$y00 * cf, .$y01 * cf),
unitname = 'm'))
Arborea_permanent_plots <- ppwm02 %>%
full_join(plot_window) %>%
group_by(plot) %>%
do(ppp = ppp(.$x * cf, .$y * cf,
window = pw$window[.$plot][[1]],
unitname="m",
marks = data.frame(.$species, .$age, .$h_tot,
.$crown_area, .$dbh,
.$basal_area, .$h_crown_ins))
) %>%
ungroup()
## Joining, by = "plot"
# x,y coorinates
plot(as.solist(Arborea_permanent_plots$ppp), main="2014Concas-Monitoring Pinus pinea regeneration, Arborea", main.panel=paste("Plot",Arborea_permanent_plots$plot), use.marks=F)
# marks
plot.with.Axis <- function(p, m) {
ungroup(Arborea_permanent_plots) %$%
plot(.$ppp[[p]], main=paste("Plot", .$plot[[p]]), which.marks = m)
at <- seq(0,50,10)
Axis(side=1, at=at)
Axis(side=4, at=at)
}
nm <- Arborea_permanent_plots$ppp[[1]] %>% marks() %>% colnames() %>% length()
op <- par(no.readonly=T)
par(pin= c(par()$pin[1],.7 * par()$fin[2]))
for(p in 1:4) for (m in 1:nm) plot.with.Axis(p, m)
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
## Warning in plot.ppp(.$ppp[[p]], main = paste("Plot", .$plot[[p]]),
## which.marks = m): Some marks are NA; corresponding points are omitted.
par(op)
# dbh = ifelse(is.na(dbhEO), dbhNS, sqrt(mean(dbhNS^2, dbhEO^2)))
#rs calcolare statistiche individuali per plot (n.punti, n.NA, min. mean, max)
# distribuzioni e correlazioni tra marche
# DA FINIRE DI SISTEMARE
library(PerformanceAnalytics)
## Warning: package 'PerformanceAnalytics' was built under R version 3.3.3
## Loading required package: xts
## Warning: package 'xts' was built under R version 3.3.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 3.3.3
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'xts'
## The following objects are masked from 'package:dplyr':
##
## first, last
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
ow <- options("warn")[[1]]
options(warn = -1)
for(i in 1:4) chart.Correlation(marks(Arborea_permanent_plots$ppp[[i]])[, c(2:7)]
, histogram=TRUE, pch=19
, main=names(Arborea_permanent_plots$ppp)[i])
# hist(ppwm02$age[ppwm02$plot==tid], main="age", xlab="age")
# hist(ppwm02$h_tot[ppwm02$plot==tid], main="h_tot", xlab="h_tot")
# hist(ppwm02$dbh[ppwm02$plot==tid], main="dbh", xlab="dbh")
statsanalysis <- list()
for(tidplot in 1:4) {
species = unique(toupper(ppwm02$species[ppwm02$plot==tidplot]))
newstatsanalysis = tribble( ~species, ~mark,~NANumber, ~Media, ~Max, ~Min, ~CVPercentuale)
for (spec in species) {
for (c_mark in c("age", "h_tot", "crown_area", "dbh", "basal_area", "h_crown_ins")) {
newstatsanalysis = rbind(newstatsanalysis, data.frame(
species=spec,
mark=c_mark,
NANumber=sum(is.na(ppwm02[toupper(ppwm02$species)==spec & ppwm02$plot==tidplot, c_mark])),
Media=mean(unlist(ppwm02[toupper(ppwm02$species)==spec & ppwm02$plot==tidplot, c_mark]), na.rm = T),
Max=max(unlist(ppwm02[toupper(ppwm02$species)==spec & ppwm02$plot==tidplot, c_mark]), na.rm = T),
Min=min(unlist(ppwm02[toupper(ppwm02$species)==spec & ppwm02$plot==tidplot, c_mark]), na.rm = T),
CVPercentuale=sd(unlist(ppwm02[toupper(ppwm02$species)==spec & ppwm02$plot==tidplot, c_mark]), na.rm = T) /mean(unlist(ppwm02[toupper(ppwm02$species)==spec & ppwm02$plot==tidplot, c_mark]), na.rm = T)*100))
}
}
statsanalysis[[tidplot]] <- newstatsanalysis
show(paste("Plot",tidplot))
show(statsanalysis[[tidplot]])
}
## [1] "Plot 1"
## species mark NANumber Media Max Min
## 1 PINPIN age 6 1.654601e+01 8.500000e+01 3.000000e+00
## 2 PINPIN h_tot 0 3.247574e+02 1.820000e+03 4.000000e+01
## 3 PINPIN crown_area 0 9.486820e+04 2.441402e+06 6.008296e+02
## 4 PINPIN dbh 41 8.317519e+00 6.051859e+01 1.000000e+00
## 5 PINPIN basal_area 41 1.781841e+02 2.876521e+03 7.853982e-01
## 6 PINPIN h_crown_ins 12 1.278408e+02 8.400000e+02 1.500000e+01
## 7 PHYANG age 57 2.200000e+01 2.200000e+01 2.200000e+01
## 8 PHYANG h_tot 0 1.775862e+02 3.320000e+02 7.800000e+01
## 9 PHYANG crown_area 0 1.089681e+05 1.050187e+06 1.313971e+03
## 10 PHYANG dbh 58 NaN -Inf Inf
## 11 PHYANG basal_area 58 NaN -Inf Inf
## 12 PHYANG h_crown_ins 58 NaN -Inf Inf
## 13 PISLEN age 11 NaN -Inf Inf
## 14 PISLEN h_tot 0 1.588182e+02 2.300000e+02 8.300000e+01
## 15 PISLEN crown_area 0 1.364693e+05 3.748124e+05 1.482675e+04
## 16 PISLEN dbh 11 NaN -Inf Inf
## 17 PISLEN basal_area 11 NaN -Inf Inf
## 18 PISLEN h_crown_ins 11 NaN -Inf Inf
## 19 EUC age 20 NaN -Inf Inf
## 20 EUC h_tot 0 7.029000e+02 1.080000e+03 1.080000e+02
## 21 EUC crown_area 0 6.862275e+04 2.206097e+05 0.000000e+00
## 22 EUC dbh 0 6.550000e+00 1.200000e+01 3.000000e+00
## 23 EUC basal_area 0 3.891648e+01 1.130973e+02 7.068583e+00
## 24 EUC h_crown_ins 1 3.371053e+02 6.500000e+02 3.000000e+01
## 25 CALVIL age 5 NaN -Inf Inf
## 26 CALVIL h_tot 0 1.898000e+02 2.220000e+02 1.470000e+02
## 27 CALVIL crown_area 0 1.077139e+05 2.151991e+05 9.225287e+03
## 28 CALVIL dbh 5 NaN -Inf Inf
## 29 CALVIL basal_area 5 NaN -Inf Inf
## 30 CALVIL h_crown_ins 5 NaN -Inf Inf
## 31 ERIARB age 1 NaN -Inf Inf
## 32 ERIARB h_tot 0 2.100000e+02 2.100000e+02 2.100000e+02
## 33 ERIARB crown_area 0 3.981969e+04 3.981969e+04 3.981969e+04
## 34 ERIARB dbh 1 NaN -Inf Inf
## 35 ERIARB basal_area 1 NaN -Inf Inf
## 36 ERIARB h_crown_ins 1 NaN -Inf Inf
## CVPercentuale
## 1 104.23232
## 2 98.34523
## 3 296.43175
## 4 151.56934
## 5 277.11946
## 6 106.85321
## 7 NA
## 8 39.19727
## 9 171.37526
## 10 NA
## 11 NA
## 12 NA
## 13 NA
## 14 29.45907
## 15 88.72834
## 16 NA
## 17 NA
## 18 NA
## 19 NA
## 20 32.88227
## 21 78.44854
## 22 40.38556
## 23 79.60740
## 24 57.86511
## 25 NA
## 26 20.01553
## 27 82.68789
## 28 NA
## 29 NA
## 30 NA
## 31 NA
## 32 NA
## 33 NA
## 34 NA
## 35 NA
## 36 NA
## [1] "Plot 2"
## species mark NANumber Media Max Min
## 1 PINPIN age 33 7.099153e+00 85.00000 1.000000e+00
## 2 PINPIN h_tot 2 1.900520e+02 1390.00000 1.300000e+01
## 3 PINPIN crown_area 0 7.844540e+03 821421.23556 0.000000e+00
## 4 PINPIN dbh 703 2.985825e+00 45.00000 1.000000e+00
## 5 PINPIN basal_area 703 1.942628e+01 1590.43128 7.853982e-01
## 6 PINPIN h_crown_ins 13 7.201417e+01 790.00000 4.000000e+00
## 7 PHYANG age 101 6.600000e+00 7.00000 5.000000e+00
## 8 PHYANG h_tot 0 1.548208e+02 300.00000 5.700000e+01
## 9 PHYANG crown_area 0 4.612271e+04 174779.36569 3.347367e+03
## 10 PHYANG dbh 106 NaN -Inf Inf
## 11 PHYANG basal_area 106 NaN -Inf Inf
## 12 PHYANG h_crown_ins 103 1.866667e+01 23.00000 1.600000e+01
## 13 PISLEN age 28 7.000000e+00 7.00000 7.000000e+00
## 14 PISLEN h_tot 0 1.391034e+02 220.00000 6.500000e+01
## 15 PISLEN crown_area 0 7.463742e+04 239745.14557 9.440486e+02
## 16 PISLEN dbh 29 NaN -Inf Inf
## 17 PISLEN basal_area 29 NaN -Inf Inf
## 18 PISLEN h_crown_ins 27 5.700000e+01 67.00000 4.700000e+01
## 19 CEPPAIA age 32 7.000000e+00 7.00000 7.000000e+00
## 20 CEPPAIA h_tot 21 1.000000e+01 10.00000 1.000000e+01
## 21 CEPPAIA crown_area 0 0.000000e+00 0.00000 0.000000e+00
## 22 CEPPAIA dbh 0 3.807354e+01 53.00943 1.300000e+01
## 23 CEPPAIA basal_area 0 1.210096e+03 2206.96884 1.327323e+02
## 24 CEPPAIA h_crown_ins 33 NaN -Inf Inf
## 25 DAFGNI age 1 NaN -Inf Inf
## 26 DAFGNI h_tot 0 1.300000e+02 130.00000 1.300000e+02
## 27 DAFGNI crown_area 0 7.725176e+03 7725.17634 7.725176e+03
## 28 DAFGNI dbh 1 NaN -Inf Inf
## 29 DAFGNI basal_area 1 NaN -Inf Inf
## 30 DAFGNI h_crown_ins 1 NaN -Inf Inf
## 31 QUEILE age 1 NaN -Inf Inf
## 32 QUEILE h_tot 0 3.200000e+01 32.00000 3.200000e+01
## 33 QUEILE crown_area 0 0.000000e+00 0.00000 0.000000e+00
## 34 QUEILE dbh 1 NaN -Inf Inf
## 35 QUEILE basal_area 1 NaN -Inf Inf
## 36 QUEILE h_crown_ins 1 NaN -Inf Inf
## 37 ALYALY age 9 7.000000e+00 7.00000 7.000000e+00
## 38 ALYALY h_tot 0 1.473000e+02 225.00000 9.300000e+01
## 39 ALYALY crown_area 0 4.288753e+04 115001.92608 1.026908e+04
## 40 ALYALY dbh 10 NaN -Inf Inf
## 41 ALYALY basal_area 10 NaN -Inf Inf
## 42 ALYALY h_crown_ins 9 1.900000e+01 19.00000 1.900000e+01
## 43 CISSAL age 53 NaN -Inf Inf
## 44 CISSAL h_tot 0 8.088679e+01 154.00000 4.800000e+01
## 45 CISSAL crown_area 0 6.450846e+04 270396.09430 6.683738e+03
## 46 CISSAL dbh 53 NaN -Inf Inf
## 47 CISSAL basal_area 53 NaN -Inf Inf
## 48 CISSAL h_crown_ins 52 8.300000e+01 83.00000 8.300000e+01
## 49 EUC age 11 NaN -Inf Inf
## 50 EUC h_tot 0 1.040909e+03 1280.00000 4.500000e+02
## 51 EUC crown_area 0 1.177263e+05 196486.98553 6.759529e+04
## 52 EUC dbh 0 1.418182e+01 20.00000 1.000000e+01
## 53 EUC basal_area 0 1.660760e+02 314.15927 7.853982e+01
## 54 EUC h_crown_ins 0 1.715455e+02 230.00000 1.210000e+02
## 55 OLEEUR age 1 NaN -Inf Inf
## 56 OLEEUR h_tot 0 1.740000e+02 174.00000 1.740000e+02
## 57 OLEEUR crown_area 0 2.125602e+04 21256.01589 2.125602e+04
## 58 OLEEUR dbh 1 NaN -Inf Inf
## 59 OLEEUR basal_area 1 NaN -Inf Inf
## 60 OLEEUR h_crown_ins 0 9.000000e+01 90.00000 9.000000e+01
## CVPercentuale
## 1 63.99118
## 2 49.35355
## 3 419.78339
## 4 133.33790
## 5 632.34194
## 6 66.08792
## 7 13.55193
## 8 33.73970
## 9 79.07835
## 10 NA
## 11 NA
## 12 20.28182
## 13 NA
## 14 30.49345
## 15 69.49372
## 16 NA
## 17 NA
## 18 24.81076
## 19 NA
## 20 0.00000
## 21 NaN
## 22 25.46438
## 23 43.83228
## 24 NA
## 25 NA
## 26 NA
## 27 NA
## 28 NA
## 29 NA
## 30 NA
## 31 NA
## 32 NA
## 33 NA
## 34 NA
## 35 NA
## 36 NA
## 37 NA
## 38 30.22558
## 39 72.21538
## 40 NA
## 41 NA
## 42 NA
## 43 NA
## 44 23.70469
## 45 73.93185
## 46 NA
## 47 NA
## 48 NA
## 49 NA
## 50 22.55681
## 51 29.15081
## 52 23.76987
## 53 47.31861
## 54 17.49461
## 55 NA
## 56 NA
## 57 NA
## 58 NA
## 59 NA
## 60 NA
## [1] "Plot 3"
## species mark NANumber Media Max Min
## 1 PHYANG age 75 37.33333 85.0000 1.200000e+01
## 2 PHYANG h_tot 0 123.82051 520.0000 4.000000e+01
## 3 PHYANG crown_area 0 44761.81490 366275.1459 1.415287e+03
## 4 PHYANG dbh 78 NaN -Inf Inf
## 5 PHYANG basal_area 78 NaN -Inf Inf
## 6 PHYANG h_crown_ins 77 550.00000 550.0000 5.500000e+02
## 7 PISLEN age 26 15.00000 15.0000 1.500000e+01
## 8 PISLEN h_tot 0 134.88889 252.0000 7.500000e+01
## 9 PISLEN crown_area 0 190552.83698 1585380.3853 7.041880e+03
## 10 PISLEN dbh 27 NaN -Inf Inf
## 11 PISLEN basal_area 27 NaN -Inf Inf
## 12 PISLEN h_crown_ins 27 NaN -Inf Inf
## 13 PINPIN age 27 12.87079 85.0000 3.000000e+00
## 14 PINPIN h_tot 0 286.26341 1360.0000 3.000000e+01
## 15 PINPIN crown_area 0 78885.54478 1161619.5916 6.298893e+02
## 16 PINPIN dbh 105 11.18278 40.0000 1.000000e+00
## 17 PINPIN basal_area 105 225.69987 1256.6371 7.853982e-01
## 18 PINPIN h_crown_ins 1 129.62745 780.0000 5.000000e+00
## 19 CEPPAIA age 16 NaN -Inf Inf
## 20 CEPPAIA h_tot 16 NaN -Inf Inf
## 21 CEPPAIA crown_area 0 0.00000 0.0000 0.000000e+00
## 22 CEPPAIA dbh 0 35.39868 49.0102 1.802776e+01
## 23 CEPPAIA basal_area 0 1041.19253 1886.5264 2.552544e+02
## 24 CEPPAIA h_crown_ins 16 NaN -Inf Inf
## 25 CISSAL age 7 NaN -Inf Inf
## 26 CISSAL h_tot 0 64.14286 107.0000 4.500000e+01
## 27 CISSAL crown_area 0 113352.36553 279025.2639 8.643307e+03
## 28 CISSAL dbh 7 NaN -Inf Inf
## 29 CISSAL basal_area 7 NaN -Inf Inf
## 30 CISSAL h_crown_ins 7 NaN -Inf Inf
## 31 RHAALA age 1 NaN -Inf Inf
## 32 RHAALA h_tot 0 150.00000 150.0000 1.500000e+02
## 33 RHAALA crown_area 0 78932.51542 78932.5154 7.893252e+04
## 34 RHAALA dbh 1 NaN -Inf Inf
## 35 RHAALA basal_area 1 NaN -Inf Inf
## 36 RHAALA h_crown_ins 1 NaN -Inf Inf
## CVPercentuale
## 1 110.64586
## 2 58.45608
## 3 157.39628
## 4 NA
## 5 NA
## 6 NA
## 7 NA
## 8 39.08410
## 9 160.43632
## 10 NA
## 11 NA
## 12 NA
## 13 119.45784
## 14 95.88959
## 15 238.41826
## 16 114.50183
## 17 166.10762
## 18 118.35373
## 19 NA
## 20 NA
## 21 NaN
## 22 24.86322
## 23 43.77375
## 24 NA
## 25 NA
## 26 33.82784
## 27 80.15767
## 28 NA
## 29 NA
## 30 NA
## 31 NA
## 32 NA
## 33 NA
## 34 NA
## 35 NA
## 36 NA
## [1] "Plot 4"
## species mark NANumber Media Max Min
## 1 CEPPAIA age 7 NaN -Inf Inf
## 2 CEPPAIA h_tot 7 NaN -Inf Inf
## 3 CEPPAIA crown_area 0 0.00000 0.00000 0.0000000
## 4 CEPPAIA dbh 0 22.06696 29.84125 16.5075740
## 5 CEPPAIA basal_area 0 395.84067 699.39706 214.0209995
## 6 CEPPAIA h_crown_ins 7 NaN -Inf Inf
## 7 PINPIN age 2 13.45174 85.00000 4.0000000
## 8 PINPIN h_tot 0 314.16092 1310.00000 43.0000000
## 9 PINPIN crown_area 0 21054.56578 977389.52984 530.9291585
## 10 PINPIN dbh 62 4.81407 45.00000 1.0000000
## 11 PINPIN basal_area 62 34.90483 1590.43128 0.7853982
## 12 PINPIN h_crown_ins 2 113.76834 940.00000 8.0000000
## 13 PHYANG age 3 9.00000 9.00000 9.0000000
## 14 PHYANG h_tot 0 74.50000 98.00000 43.0000000
## 15 PHYANG crown_area 0 7715.35886 19835.23062 702.9313562
## 16 PHYANG dbh 4 NaN -Inf Inf
## 17 PHYANG basal_area 4 NaN -Inf Inf
## 18 PHYANG h_crown_ins 3 26.00000 26.00000 26.0000000
## 19 PISLEN age 12 NaN -Inf Inf
## 20 PISLEN h_tot 0 126.91667 251.00000 39.0000000
## 21 PISLEN crown_area 0 23583.28155 58959.84013 463.3849164
## 22 PISLEN dbh 12 NaN -Inf Inf
## 23 PISLEN basal_area 12 NaN -Inf Inf
## 24 PISLEN h_crown_ins 12 NaN -Inf Inf
## 25 CALVIL age 8 13.00000 13.00000 13.0000000
## 26 CALVIL h_tot 0 115.00000 156.00000 60.0000000
## 27 CALVIL crown_area 0 39700.82996 105476.61715 4619.7119971
## 28 CALVIL dbh 9 NaN -Inf Inf
## 29 CALVIL basal_area 9 NaN -Inf Inf
## 30 CALVIL h_crown_ins 8 34.00000 34.00000 34.0000000
## CVPercentuale
## 1 NA
## 2 NA
## 3 NaN
## 4 20.21089
## 5 41.20723
## 6 NA
## 7 50.48373
## 8 48.72941
## 9 366.14573
## 10 96.03598
## 11 428.97498
## 12 82.06885
## 13 NA
## 14 33.68209
## 15 108.25722
## 16 NA
## 17 NA
## 18 NA
## 19 NA
## 20 56.35529
## 21 89.46927
## 22 NA
## 23 NA
## 24 NA
## 25 NA
## 26 30.06609
## 27 96.73555
## 28 NA
## 29 NA
## 30 NA