Working with Attributes

library(sf)

# Create path to geodatabase 
gdbPath <- "data/source/segi/2023_GS_Groves_OTI_public.gdb"
# View layers
st_layers(gdbPath)
# Open the points layer
segi <- st_read(gdbPath, layer = "SEGI_OTI_2023_public")

# Use indexing to access specific row/column infor
segi[1,]
segi[, 3]
segi[1, 3]

# Filter data based on conditions
segi[segi$Grove == "Devils Canyon",]
segi[segi$Lidar_Canopy_Ht > 80, ]
segi[segi$Lidar_Canopy_Ht > 80 & segi$Status == "Alive", ]
segi[is.na(segi$CrownDiameter), ]

# Select specific columns by name
segi[, "Grove"]
segi[, c("Grove", "Status")]

# Filter by condition, only keeping certain columns
ch <- segi[segi$Lidar_Canopy_Ht > 80, c("Grove", "Status", "Lidar_Canopy_Ht")]
ch <- segi[segi$Lidar_Canopy_Ht > 80 & !is.na(segi$Lidar_Canopy_Ht), c("Grove", "Status", "Lidar_Canopy_Ht")]