Diagnostic data in an object inheriting from data.frame can easily be added via merge (LEFT JOIN). There must be one or more same-named columns containing profile ID on the left and right hand side to facilitate the join: diagnostic_hz(spc) <- newdata

diagnostic_hz(object) <- value



A SoilProfileCollection


An object inheriting data.frame


# load test data

# promote to SPC
depths(sp2) <- id ~ top + bottom

# assign two profiles a zone related to the mollic epipedon
newdata <- data.frame(id = c("hon-1","hon-17"),
                      featkind = "fixed-depth surface sample",
                      featdept = 0,
                      featdepb = 18)

# do left join
diagnostic_hz(sp2) <- newdata

# inspect site table: newvalue TRUE only for horizons
#  with top depth equal to zero
#>       id                   featkind featdept featdepb
#> 1  hon-1 fixed-depth surface sample        0       18
#> 2 hon-17 fixed-depth surface sample        0       18