Learn R Programming

valueprhr

Value-Price Analysis with Bayesian and Panel Data Methods

Overview

This package provides tools for analyzing the relationship between direct prices (based on labor values) and prices of production using Bayesian generalized linear models, panel data methods, partial least squares regression, canonical correlation analysis, and panel vector autoregression.

Installation

You can install the development version from GitHub:

# install.packages("devtools")
devtools::install_github("isadorenabi/valueprhr")

Main Functions

Data Preparation

  • prepare_panel_data(): Convert wide-format price matrices to panel data
  • prepare_log_matrices(): Extract and log-transform price matrices
  • create_mundlak_data(): Add Mundlak transformations to panel data

Model Fitting

  • fit_bayesian_glm_sectors(): Fit Bayesian GLM for each sector
  • fit_twoway_fe(): Fit two-way fixed effects panel model
  • fit_mundlak_cre(): Fit Mundlak correlated random effects model
  • fit_bayesian_hierarchical(): Fit Bayesian mixed effects model
  • fit_pls_multivariate(): Fit PLS regression with CV selection

Multivariate Analysis

  • run_sparse_cca(): Run sparse CCA with PCA preprocessing
  • fit_panel_var(): Fit panel VAR model
  • fit_aggregated_var(): Fit VAR on aggregated time series
  • panel_granger_test(): Panel Granger causality tests

Validation

  • rolling_window_cv(): Rolling window cross-validation
  • leave_one_sector_out(): LOSO cross-validation
  • summarize_cv_results(): Summarize CV results

Structural Break Tests

  • test_structural_breaks(): Test for structural breaks
  • format_break_results(): Format break test results
  • interpret_break_tests(): Interpret break test results

Summary and Comparison

  • compare_models(): Generate model comparison table
  • generate_analysis_summary(): Create comprehensive summary
  • run_full_analysis(): Run complete analysis pipeline

Example

library(valueprhr)

# Create example data
set.seed(123)
years <- 2000:2019
sectors <- LETTERS[1:5]

direct <- data.frame(Year = years)
production <- data.frame(Year = years)

for (s in sectors) {
  direct[[s]] <- 100 + cumsum(rnorm(20, 2, 1))
  production[[s]] <- 102 + cumsum(rnorm(20, 2, 1))
}

# Run full analysis
results <- run_full_analysis(
  direct, production,
  run_bayesian = FALSE,
  run_cv = TRUE,
  run_breaks = TRUE
)

# View comparison table
print(results$comparison)

Dependencies

Required (Imports)

  • stats
  • utils
  • Metrics

Optional (Suggests)

  • rstanarm: For Bayesian models
  • loo: For LOO-CV
  • plm: For panel data models
  • pls: For PLS regression
  • vars: For VAR models
  • panelvar: For panel VAR
  • strucchange: For structural break tests
  • lmtest, sandwich: For robust standard errors

Author

Jose Mauricio Gomez Julian (isadore.nabi@pm.me)

ORCID: 0009-0000-2412-3150

License

MIT

Copy Link

Version

Install

install.packages('valueprhr')

Version

0.1.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

José Mauricio Gómez Julián

Last Published

December 9th, 2025

Functions in valueprhr (0.1.0)

interpret_break_tests

Interpret Break Test Results
evaluate_insample

Evaluate In-Sample Model Performance
compute_multivariate_rmse

Compute Multivariate RMSE
fit_predict_mundlak

Fit and Predict with Mundlak Model
run_cca_var_analysis

Run Complete CCA and VAR Analysis
fit_panel_var

Fit Panel VAR Model
rolling_window_cv

Rolling Window Cross-Validation
fit_mundlak_cre

Fit Mundlak Correlated Random Effects Model
pls_analysis

Partial Least Squares Regression Analysis
predict_pls

Predict from PLS Model
leave_one_sector_out

Leave-One-Sector-Out Cross-Validation
export_results_csv

Export Results to CSV
fit_single_sector_glm

Fit Single Sector Bayesian GLM (Internal)
generate_analysis_summary

Generate Comprehensive Analysis Summary
panel_granger_test

Panel Granger Causality Test (Dumitrescu-Hurlin)
panel_models

Panel Data Models for Value-Price Analysis
get_r2_values

Extract R-squared Values from rstanarm Model
fit_bayesian_hierarchical

Fit Bayesian Hierarchical Panel Model
fit_bayesian_glm_sectors

Fit Bayesian GLM for Each Sector
fit_predict_fe_sector

Fit and Predict with FE Sector Model
extract_cca_loadings

Extract Top CCA Loadings
fit_pls_multivariate

Fit PLS Regression with Cross-Validation Component Selection
compute_oos_degradation

Compute OOS Degradation
extract_breakpoints

Extract Estimated Breakpoints
utils

Utility Functions for Value-Price Analysis
validate_panel_data

Validate Panel Data Structure
run_supf_test

Run Supremum F Test
validation

Out-of-Sample Validation Functions
run_sparse_cca

Run Sparse CCA with PCA Preprocessing
valueprhr-package

valueprhr: Value-Price Analysis with Bayesian and Panel Data Methods
extract_sector_coefficients

Extract Sector Coefficients
safe_rmse

Safe RMSE Calculation
structural_breaks

Structural Break Tests
run_mosum_test

Run MOSUM Test
test_mundlak_specification

Test Mundlak Specification
test_structural_breaks

Test for Structural Breaks
run_full_analysis

Run Complete Analysis Pipeline
safe_mae

Safe MAE Calculation
summary_comparison

Model Comparison and Summary Functions
robust_summary

Robust Summary Statistics with Bootstrap Confidence Intervals
summarize_cv_results

Summarize Rolling Window Results
fit_aggregated_var

Fit Aggregated VAR Model
print_analysis_summary

Print Analysis Summary
safe_pct

Safe Percentage Calculation
fit_twoway_fe

Fit Two-Way Fixed Effects Panel Model
format_break_results

Format Structural Break Results
prepare_log_matrices

Prepare Log-Transformed Matrices
prepare_panel_data

Prepare Panel Data from Wide Format Matrices
run_cusum_test

Run CUSUM Test
run_chow_tests

Run Chow Tests at Candidate Break Years
choose_n_pcs

Choose Number of Principal Components
check_package

Check if Required Package is Available
aggregate_to_timeseries

Create Time-Series Aggregated Data
compare_models

Compare All Models
cca_pvar

Canonical Correlation Analysis and Panel VAR
calculate_mode

Calculate Mode Using Kernel Density Estimation
bayesian_glm

Bayesian Generalized Linear Models for Sector Analysis
compute_r2

Compute In-Sample R-squared
create_mundlak_data

Create Mundlak-Transformed Panel Data
data_preparation

Data Preparation Functions
create_sector_summary_table

Create Summary Table from Sector Results
compute_multivariate_r2

Compute Multivariate R-squared
compute_multivariate_mae

Compute Multivariate MAE
compute_multivariate_metrics

Compute Multivariate Metrics
compute_pls_cv_metrics

Compute PLS Cross-Validation Metrics
extract_pls_importance

Extract PLS Variable Importance
extract_re_variances

Extract Random Effects Variance Components
compute_pvar_bic

Compute BIC for Panel VAR Model