SoilProfileCollections can be coerced to other R object types using as(spc, 'type').

Possible endpoints include: list, data.frame, SpatialPointsDataFrame and SpatialPoints.

# S4 method for SoilProfileCollection
as.data.frame(x)

Arguments

x

a SoilProfileCollection

Value

list

data.frame

tbl_df

data.table

SpatialPointsDataFrame

sf

SpatialPoints

Examples

# load example data stored as SoilProfileCollection
data(sp5)

# sp5
str(sp5)
#> Formal class 'SoilProfileCollection' [package "aqp"] with 9 slots
#>   ..@ idcol       : chr "soil"
#>   ..@ hzidcol     : chr "hzID"
#>   ..@ depthcols   : chr [1:2] "top" "bottom"
#>   ..@ metadata    :List of 9
#>   .. ..$ aqp_df_class    : chr "data.frame"
#>   .. ..$ aqp_group_by    : chr ""
#>   .. ..$ aqp_hzdesgn     : chr "name"
#>   .. ..$ aqp_hztexcl     : chr ""
#>   .. ..$ depth_units     : chr "cm"
#>   .. ..$ stringsAsFactors: logi FALSE
#>   .. ..$ original.order  : int [1:1539] 1 2 3 4 5 6 7 8 9 10 ...
#>   .. ..$ citation        : chr "F. Carre, M.C. Girard. 2002. Quantitative mapping of soil types based on regression kriging of taxonomic distan"| __truncated__
#>   .. ..$ dateAdded       : Date[1:1], format: "2023-04-25"
#>   ..@ horizons    :'data.frame':	1539 obs. of  19 variables:
#>   .. ..$ soil      : chr [1:1539] "soil1" "soil1" "soil1" "soil1" ...
#>   .. ..$ sand      : num [1:1539] 32.3 29 34.9 38.2 32.2 25.2 24.4 24 21.2 18.4 ...
#>   .. ..$ silt      : num [1:1539] 10.9 11.2 11.6 10.9 10.8 ...
#>   .. ..$ clay      : num [1:1539] 52.8 58.2 51.9 49.7 55.6 ...
#>   .. ..$ R25       : num [1:1539] 0.41 0.31 0.31 0.31 0.55 0.43 0.44 0.34 0.35 0.35 ...
#>   .. ..$ G25       : num [1:1539] 0.38 0.28 0.28 0.28 0.46 0.37 0.37 0.28 0.27 0.27 ...
#>   .. ..$ B25       : num [1:1539] 0.34 0.25 0.25 0.25 0.36 0.3 0.31 0.23 0.19 0.19 ...
#>   .. ..$ pH        : num [1:1539] 6.85 8.08 9.2 9.29 9.24 8.26 8.95 9.34 9.24 9.13 ...
#>   .. ..$ EC        : num [1:1539] 24 10 23.9 41.6 73.6 14.5 16.1 26.1 43.8 61.5 ...
#>   .. ..$ CaCO3     : num [1:1539] 0.05 0.05 0.3 0.4 0.7 0.1 0.5 1 1.05 1.1 ...
#>   .. ..$ C         : num [1:1539] 2.29 0.9 0.74 0.35 0.25 1.06 0.66 0.58 0.47 0.36 ...
#>   .. ..$ Ca        : num [1:1539] 183 234 231 168 203 ...
#>   .. ..$ Mg        : num [1:1539] 146 172 166 152 167 ...
#>   .. ..$ Na        : num [1:1539] 19 34.1 70.2 81.7 100 ...
#>   .. ..$ top       : int [1:1539] 0 8 25 55 100 0 10 25 40 70 ...
#>   .. ..$ bottom    : int [1:1539] 8 25 55 100 267 10 25 40 70 100 ...
#>   .. ..$ hzID      : chr [1:1539] "1" "2" "3" "4" ...
#>   .. ..$ soil_color: chr [1:1539] "#696157" "#4F4740" "#4F4740" "#4F4740" ...
#>   .. ..$ name      : chr [1:1539] "H1" "H2" "H3" "H4" ...
#>   ..@ site        :'data.frame':	296 obs. of  1 variable:
#>   .. ..$ soil: chr [1:296] "soil1" "soil10" "soil100" "soil101" ...
#>   ..@ sp          :Formal class 'SpatialPoints' [package "sp"] with 3 slots
#>   .. .. ..@ coords     : num [1, 1] 0
#>   .. .. ..@ bbox       : logi [1, 1] NA
#>   .. .. ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slot
#>   .. .. .. .. ..@ projargs: chr NA
#>   ..@ diagnostic  :'data.frame':	0 obs. of  0 variables
#>   ..@ restrictions:'data.frame':	0 obs. of  0 variables

# list output
str(as(sp5, 'list'))
#> List of 9
#>  $ idcol       : chr "soil"
#>  $ hzidcol     : chr "hzID"
#>  $ depthcols   : chr [1:2] "top" "bottom"
#>  $ metadata    :List of 9
#>   ..$ aqp_df_class    : chr "data.frame"
#>   ..$ aqp_group_by    : chr ""
#>   ..$ aqp_hzdesgn     : chr "name"
#>   ..$ aqp_hztexcl     : chr ""
#>   ..$ depth_units     : chr "cm"
#>   ..$ stringsAsFactors: logi FALSE
#>   ..$ original.order  : int [1:1539] 1 2 3 4 5 6 7 8 9 10 ...
#>   ..$ citation        : chr "F. Carre, M.C. Girard. 2002. Quantitative mapping of soil types based on regression kriging of taxonomic distan"| __truncated__
#>   ..$ dateAdded       : Date[1:1], format: "2023-04-25"
#>  $ horizons    :'data.frame':	1539 obs. of  19 variables:
#>   ..$ soil      : chr [1:1539] "soil1" "soil1" "soil1" "soil1" ...
#>   ..$ sand      : num [1:1539] 32.3 29 34.9 38.2 32.2 25.2 24.4 24 21.2 18.4 ...
#>   ..$ silt      : num [1:1539] 10.9 11.2 11.6 10.9 10.8 ...
#>   ..$ clay      : num [1:1539] 52.8 58.2 51.9 49.7 55.6 ...
#>   ..$ R25       : num [1:1539] 0.41 0.31 0.31 0.31 0.55 0.43 0.44 0.34 0.35 0.35 ...
#>   ..$ G25       : num [1:1539] 0.38 0.28 0.28 0.28 0.46 0.37 0.37 0.28 0.27 0.27 ...
#>   ..$ B25       : num [1:1539] 0.34 0.25 0.25 0.25 0.36 0.3 0.31 0.23 0.19 0.19 ...
#>   ..$ pH        : num [1:1539] 6.85 8.08 9.2 9.29 9.24 8.26 8.95 9.34 9.24 9.13 ...
#>   ..$ EC        : num [1:1539] 24 10 23.9 41.6 73.6 14.5 16.1 26.1 43.8 61.5 ...
#>   ..$ CaCO3     : num [1:1539] 0.05 0.05 0.3 0.4 0.7 0.1 0.5 1 1.05 1.1 ...
#>   ..$ C         : num [1:1539] 2.29 0.9 0.74 0.35 0.25 1.06 0.66 0.58 0.47 0.36 ...
#>   ..$ Ca        : num [1:1539] 183 234 231 168 203 ...
#>   ..$ Mg        : num [1:1539] 146 172 166 152 167 ...
#>   ..$ Na        : num [1:1539] 19 34.1 70.2 81.7 100 ...
#>   ..$ top       : int [1:1539] 0 8 25 55 100 0 10 25 40 70 ...
#>   ..$ bottom    : int [1:1539] 8 25 55 100 267 10 25 40 70 100 ...
#>   ..$ hzID      : chr [1:1539] "1" "2" "3" "4" ...
#>   ..$ soil_color: chr [1:1539] "#696157" "#4F4740" "#4F4740" "#4F4740" ...
#>   ..$ name      : chr [1:1539] "H1" "H2" "H3" "H4" ...
#>  $ site        :'data.frame':	296 obs. of  1 variable:
#>   ..$ soil: chr [1:296] "soil1" "soil10" "soil100" "soil101" ...
#>  $ sp          :Formal class 'SpatialPoints' [package "sp"] with 3 slots
#>   .. ..@ coords     : num [1, 1] 0
#>   .. ..@ bbox       : logi [1, 1] NA
#>   .. ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slot
#>   .. .. .. ..@ projargs: chr NA
#>  $ diagnostic  :'data.frame':	0 obs. of  0 variables
#>  $ restrictions:'data.frame':	0 obs. of  0 variables

# data.frame output
str(as(sp5, 'data.frame'))
#> 'data.frame':	1539 obs. of  19 variables:
#>  $ soil      : chr  "soil1" "soil1" "soil1" "soil1" ...
#>  $ sand      : num  32.3 29 34.9 38.2 32.2 25.2 24.4 24 21.2 18.4 ...
#>  $ silt      : num  10.9 11.2 11.6 10.9 10.8 ...
#>  $ clay      : num  52.8 58.2 51.9 49.7 55.6 ...
#>  $ R25       : num  0.41 0.31 0.31 0.31 0.55 0.43 0.44 0.34 0.35 0.35 ...
#>  $ G25       : num  0.38 0.28 0.28 0.28 0.46 0.37 0.37 0.28 0.27 0.27 ...
#>  $ B25       : num  0.34 0.25 0.25 0.25 0.36 0.3 0.31 0.23 0.19 0.19 ...
#>  $ pH        : num  6.85 8.08 9.2 9.29 9.24 8.26 8.95 9.34 9.24 9.13 ...
#>  $ EC        : num  24 10 23.9 41.6 73.6 14.5 16.1 26.1 43.8 61.5 ...
#>  $ CaCO3     : num  0.05 0.05 0.3 0.4 0.7 0.1 0.5 1 1.05 1.1 ...
#>  $ C         : num  2.29 0.9 0.74 0.35 0.25 1.06 0.66 0.58 0.47 0.36 ...
#>  $ Ca        : num  183 234 231 168 203 ...
#>  $ Mg        : num  146 172 166 152 167 ...
#>  $ Na        : num  19 34.1 70.2 81.7 100 ...
#>  $ top       : int  0 8 25 55 100 0 10 25 40 70 ...
#>  $ bottom    : int  8 25 55 100 267 10 25 40 70 100 ...
#>  $ hzID      : chr  "1" "2" "3" "4" ...
#>  $ soil_color: chr  "#696157" "#4F4740" "#4F4740" "#4F4740" ...
#>  $ name      : chr  "H1" "H2" "H3" "H4" ...

# Spatial Objects
# make some random coordinate data for each profile
sp5$x <- sp5$y <- rnorm(length(sp5))
initSpatial(sp5, crs = "OGC:CRS84") <- ~ x + y

# SpatialPointsDataFrame output
str(as(sp5, 'SpatialPointsDataFrame'))
#> Loading required namespace: sf
#> only site data are extracted
#> Formal class 'SpatialPointsDataFrame' [package "sp"] with 5 slots
#>   ..@ data       :'data.frame':	296 obs. of  3 variables:
#>   .. ..$ soil: chr [1:296] "soil1" "soil10" "soil100" "soil101" ...
#>   .. ..$ y   : num [1:296] 0.862 1.995 -0.767 -0.74 0.325 ...
#>   .. ..$ x   : num [1:296] 0.862 1.995 -0.767 -0.74 0.325 ...
#>   ..@ coords.nrs : num(0) 
#>   ..@ coords     : num [1:296, 1:2] 0.862 1.995 -0.767 -0.74 0.325 ...
#>   .. ..- attr(*, "dimnames")=List of 2
#>   .. .. ..$ : NULL
#>   .. .. ..$ : chr [1:2] "coords.x1" "coords.x2"
#>   ..@ bbox       : num [1:2, 1:2] -2.76 -2.76 4.06 4.06
#>   .. ..- attr(*, "dimnames")=List of 2
#>   .. .. ..$ : chr [1:2] "coords.x1" "coords.x2"
#>   .. .. ..$ : chr [1:2] "min" "max"
#>   ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slot
#>   .. .. ..@ projargs: chr "+proj=longlat +datum=WGS84 +no_defs"
#>   .. .. ..$ comment: chr "GEOGCRS[\"WGS 84\",\n    DATUM[\"World Geodetic System 1984\",\n        ELLIPSOID[\"WGS 84\",6378137,298.257223"| __truncated__

# SpatialPoints output
str(as(sp5, 'SpatialPoints'))
#> only site data are extracted
#> Formal class 'SpatialPoints' [package "sp"] with 3 slots
#>   ..@ coords     : num [1:296, 1:2] 0.862 1.995 -0.767 -0.74 0.325 ...
#>   .. ..- attr(*, "dimnames")=List of 2
#>   .. .. ..$ : NULL
#>   .. .. ..$ : chr [1:2] "coords.x1" "coords.x2"
#>   ..@ bbox       : num [1:2, 1:2] -2.76 -2.76 4.06 4.06
#>   .. ..- attr(*, "dimnames")=List of 2
#>   .. .. ..$ : chr [1:2] "coords.x1" "coords.x2"
#>   .. .. ..$ : chr [1:2] "min" "max"
#>   ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slot
#>   .. .. ..@ projargs: chr "+proj=longlat +datum=WGS84 +no_defs"
#>   .. .. ..$ comment: chr "GEOGCRS[\"WGS 84\",\n    DATUM[\"World Geodetic System 1984\",\n        ELLIPSOID[\"WGS 84\",6378137,298.257223"| __truncated__