Changes in version 0.2.1 Bug fix - NAMESPACE: Removed sample, runif, and setNames from importFrom(stats, ...). These are base:: functions and are always available without import. Listing them under stats:: caused the warning: object 'sample' is not exported by 'namespace:stats' on devtools::load_all() and R CMD CHECK. - Added correct @importFrom stats coef lm qt sd var and @importFrom utils head read.csv roxygen2 tags to R/zzz.R so that devtools::document() regenerates the NAMESPACE without the base:: / stats:: confusion. Changes in version 0.2.0 New features - Added NRMSampling.Rproj RStudio project file for streamlined development with devtools, roxygen2, and testthat integration. - stratified_sample() now accepts a named integer vector for n_per_stratum, enabling Neyman (optimal) or any user-defined allocation. - pps_sample() now attaches .inclusion_prob (n * p_i) to output, ready for direct use with ht_estimator(). - plot_summary() now handles all-numeric data frames when vars = NULL without requiring explicit column names. - carbon_stock_estimate() now validates carbon_fraction range and documents the IPCC (2006) default of 0.47. - Added sampling_efficiency() for quantitative comparison of two sampling designs via relative efficiency (RE = Var1 / Var2). - All spatial functions now provide informative installation messages if sf or terra are not available, rather than an opaque error. Bug fixes - purposive_sample(): condition evaluation now uses with() instead of eval(parse(...)) on the global environment, preventing accidental access to objects outside the data frame. - systematic_sample(): fixed an edge case where k = nrow(data) would select only one unit rather than erroring. - quota_sample(): now silently caps quota to stratum size instead of erroring when quota exceeds available units. - regression_estimator(): now requires at least 3 complete observations before fitting and raises an informative error. Documentation - .Rbuildignore updated to exclude NRMSampling.Rproj and .Rproj.user/ from the CRAN source bundle. - .gitignore expanded with comprehensive R, RStudio, and OS entries. - All roxygen2 @examples verified to run in under 5 seconds. - cran-comments.md updated to reflect v0.2.0 test environments. Changes in version 0.1.0 Initial CRAN release Probability Sampling - srs_sample() -- Simple random sampling with/without replacement. - stratified_sample() -- Equal, proportional, or Neyman allocation. - systematic_sample() -- Fixed-interval systematic sampling. - cluster_sample() -- Single-stage cluster sampling. - pps_sample() -- Probability-proportional-to-size sampling. Non-Probability Sampling - convenience_sample() -- First-n convenience sample. - purposive_sample() -- Condition-based purposive sampling. - quota_sample() -- Fixed-quota non-random selection. Estimation - estimate_mean(), estimate_total() -- Mean and total estimators. - estimate_variance(), estimate_se() -- Variance and SE with fpc. - estimate_ci() -- t-based confidence intervals. - ratio_estimator() -- Ratio estimate of population total. - regression_estimator() -- Regression-adjusted mean estimate. - ht_estimator(), ht_variance() -- Horvitz-Thompson estimator and variance. - stratified_estimator() -- Weighted stratified mean estimator. NRM Utilities - biomass_estimate() -- Total and mean biomass from plot data. - soil_loss_estimate() -- Total and mean soil loss estimation. - carbon_stock_estimate() -- Carbon stock from biomass. - plot_summary() -- Descriptive statistics for numeric columns. - sampling_efficiency() -- Relative efficiency of two designs. Spatial Sampling (sf + terra) - to_sf_points(), spatial_random_sample(), spatial_systematic_sample(), spatial_stratified_sample(), spatial_cluster_sample(), raster_stratified_sample(), raster_pps_sample(), extract_raster_values(), spatial_biomass_estimate(), plot_sampling(), plot_sampling_gg(). Datasets - sample_nrm -- 100-plot synthetic NRM field dataset. - sample_spatial -- 100-observation geo-referenced NRM dataset.