I used the 2015 Street Tree Census Data from NYC Open Data. This data includes tree species, diameter, and perception of tree health.

Downloading the Data

library(readr)
tree_data <- read.csv("2015_Street_Tree_Census_-_Tree_Data.csv")

Summary

summary(tree_data)
##     tree_id          block_id          created_at        tree_dbh     
##  Min.   :     3   Min.   :100002   Length   :683788   Min.   :  0.00  
##  1st Qu.:186583   1st Qu.:221556   N.unique :   483   1st Qu.:  4.00  
##  Median :366214   Median :319967   N.blank  :     0   Median :  9.00  
##  Mean   :365205   Mean   :313793   Min.nchar:    10   Mean   : 11.28  
##  3rd Qu.:546170   3rd Qu.:404624   Max.nchar:    10   3rd Qu.: 16.00  
##  Max.   :722694   Max.   :999999                      Max.   :450.00  
##                                                                       
##    stump_diam            curb_loc            status             health      
##  Min.   :  0.0000   Length   :683788   Length   :683788   Length   :683788  
##  1st Qu.:  0.0000   N.unique :     2   N.unique :     3   N.unique :     4  
##  Median :  0.0000   N.blank  :     0   N.blank  :     0   N.blank  : 31616  
##  Mean   :  0.4325   Min.nchar:     6   Min.nchar:     4   Min.nchar:     0  
##  3rd Qu.:  0.0000   Max.nchar:    14   Max.nchar:     5   Max.nchar:     4  
##  Max.   :140.0000                                                           
##                                                                             
##      spc_latin          spc_common          steward             guards      
##  Length   :683788   Length   :683788   Length   :683788   Length   :683788  
##  N.unique :   133   N.unique :   133   N.unique :     5   N.unique :     5  
##  N.blank  : 31619   N.blank  : 31619   N.blank  : 31615   N.blank  : 31616  
##  Min.nchar:     0   Min.nchar:     0   Min.nchar:     0   Min.nchar:     0  
##  Max.nchar:    34   Max.nchar:    22   Max.nchar:     7   Max.nchar:     7  
##                                                                             
##                                                                             
##       sidewalk          user_type           problems          root_stone    
##  Length   :683788   Length   :683788   Length   :683788   Length   :683788  
##  N.unique :     3   N.unique :     3   N.unique :   233   N.unique :     2  
##  N.blank  : 31616   N.blank  :     0   N.blank  : 31664   N.blank  :     0  
##  Min.nchar:     0   Min.nchar:     9   Min.nchar:     0   Min.nchar:     2  
##  Max.nchar:     8   Max.nchar:    16   Max.nchar:    95   Max.nchar:     3  
##                                                                             
##                                                                             
##      root_grate         root_other         trunk_wire         trnk_light    
##  Length   :683788   Length   :683788   Length   :683788   Length   :683788  
##  N.unique :     2   N.unique :     2   N.unique :     2   N.unique :     2  
##  N.blank  :     0   N.blank  :     0   N.blank  :     0   N.blank  :     0  
##  Min.nchar:     2   Min.nchar:     2   Min.nchar:     2   Min.nchar:     2  
##  Max.nchar:     3   Max.nchar:     3   Max.nchar:     3   Max.nchar:     3  
##                                                                             
##                                                                             
##      trnk_other         brch_light         brch_shoe          brch_other    
##  Length   :683788   Length   :683788   Length   :683788   Length   :683788  
##  N.unique :     2   N.unique :     2   N.unique :     2   N.unique :     2  
##  N.blank  :     0   N.blank  :     0   N.blank  :     0   N.blank  :     0  
##  Min.nchar:     2   Min.nchar:     2   Min.nchar:     2   Min.nchar:     2  
##  Max.nchar:     3   Max.nchar:     3   Max.nchar:     3   Max.nchar:     3  
##                                                                             
##                                                                             
##       address          postcode          zip_city      community.board
##  Length   :683788   Min.   :   83   Length   :683788   Min.   :101.0  
##  N.unique :408701   1st Qu.:10451   N.unique :    48   1st Qu.:302.0  
##  N.blank  :     0   Median :11214   N.blank  :     0   Median :402.0  
##  Min.nchar:     1   Mean   :10916   Min.nchar:     5   Mean   :343.5  
##  Max.nchar:    40   3rd Qu.:11365   Max.nchar:    19   3rd Qu.:412.0  
##                     Max.   :11697                      Max.   :503.0  
##                                                                       
##     borocode          borough          cncldist        st_assem    
##  Min.   :1.000   Length   :683788   Min.   : 1.00   Min.   :23.00  
##  1st Qu.:3.000   N.unique :     5   1st Qu.:19.00   1st Qu.:33.00  
##  Median :4.000   N.blank  :     0   Median :30.00   Median :52.00  
##  Mean   :3.358   Min.nchar:     5   Mean   :29.94   Mean   :50.79  
##  3rd Qu.:4.000   Max.nchar:    13   3rd Qu.:43.00   3rd Qu.:64.00  
##  Max.   :5.000                      Max.   :51.00   Max.   :87.00  
##                                                                    
##    st_senate            nta              nta_name           boro_ct      
##  Min.   :10.00   Length   :683788   Length   :683788   Length   :683788  
##  1st Qu.:14.00   N.unique :   188   N.unique :   188   N.unique :  2152  
##  Median :21.00   N.blank  :     0   N.blank  :     0   N.blank  :     0  
##  Mean   :20.62   Min.nchar:     4   Min.nchar:     6   Min.nchar:     9  
##  3rd Qu.:25.00   Max.nchar:     4   Max.nchar:    56   Max.nchar:     9  
##  Max.   :36.00                                                           
##                                                                          
##        state           latitude       longitude             x_sp       
##  Length   :683788   Min.   :40.50   Min.   :-74.25   Length   :683788  
##  N.unique :     1   1st Qu.:40.63   1st Qu.:-73.98   N.unique :681630  
##  N.blank  :     0   Median :40.70   Median :-73.91   N.blank  :     0  
##  Min.nchar:     8   Mean   :40.70   Mean   :-73.92   Min.nchar:     7  
##  Max.nchar:     8   3rd Qu.:40.76   3rd Qu.:-73.83   Max.nchar:    13  
##                     Max.   :40.91   Max.   :-73.70                     
##                                                                        
##         y_sp        council.district    census.tract         bin         
##  Length   :683788   Min.   : 1.00    Length   :683788   Min.   :1000000  
##  N.unique :682632   1st Qu.:19.00    N.unique :  1316   1st Qu.:3031991  
##  N.blank  :     0   Median :30.00    N.blank  :  6519   Median :4020352  
##  Min.nchar:     7   Mean   :30.03    Min.nchar:     0   Mean   :3495439  
##  Max.nchar:    12   3rd Qu.:43.00    Max.nchar:     7   3rd Qu.:4263123  
##                     Max.   :51.00                       Max.   :5515124  
##                     NAs    :6519                        NAs    :9559     
##       bbl           
##  Min.   :0.000e+00  
##  1st Qu.:3.011e+09  
##  Median :4.009e+09  
##  Mean   :3.413e+09  
##  3rd Qu.:4.106e+09  
##  Max.   :5.081e+09  
##  NAs    :9559
#Counting the number of rows and columns
dim(tree_data)
## [1] 683788     45
#Finding the column names
names(tree_data)
##  [1] "tree_id"          "block_id"         "created_at"       "tree_dbh"        
##  [5] "stump_diam"       "curb_loc"         "status"           "health"          
##  [9] "spc_latin"        "spc_common"       "steward"          "guards"          
## [13] "sidewalk"         "user_type"        "problems"         "root_stone"      
## [17] "root_grate"       "root_other"       "trunk_wire"       "trnk_light"      
## [21] "trnk_other"       "brch_light"       "brch_shoe"        "brch_other"      
## [25] "address"          "postcode"         "zip_city"         "community.board" 
## [29] "borocode"         "borough"          "cncldist"         "st_assem"        
## [33] "st_senate"        "nta"              "nta_name"         "boro_ct"         
## [37] "state"            "latitude"         "longitude"        "x_sp"            
## [41] "y_sp"             "council.district" "census.tract"     "bin"             
## [45] "bbl"

Statistics of Tree Trunk Diameter

tree_data$tree_dbh <- as.numeric(tree_data$tree_dbh)

mean(tree_data$tree_dbh, na.rm = TRUE)
## [1] 11.27979
median(tree_data$tree_dbh, na.rm = TRUE)
## [1] 9
mean(tree_data$tree_dbh, na.rm = TRUE)
## [1] 11.27979

Borough with The Most Trees

sort(table(tree_data$borough), decreasing = TRUE)
## 
##        Queens      Brooklyn Staten Island         Bronx     Manhattan 
##        250551        177293        105318         85203         65423
#The data finds that Queens has the most trees, then Boroklyn, Staten Island, Bronx, then Manhattan with the fewest. 

borough_counts <- sort(table(tree_data$borough), decreasing = TRUE)
barplot(borough_counts,
        main = "Amount of Trees by Borough",
        ylab = "Number of trees",
        col = "#2a78d6")

10 Most Common Species

species <- sort(table(tree_data$spc_common), decreasing = TRUE)

top10 <- species[1:10]
pie(top10,
    labels = names(top10),
    main = "Top 10 Tree Species")