{
  "_id": "6a1c0ecf1d7bb097a0a2ded7",
  "Package": "o2plsda",
  "Type": "Package",
  "Title": "Multiomics Data Integration",
  "Version": "0.0.28",
  "Authors@R": "c(person(\"Kai\",\"Guo\",email = \"guokai8@gmail.com\",\nrole = c(\"aut\", \"cre\")\n),\nperson(\"Junguk\",\"Hur\",role = \"aut\"),\nperson(\"Eva\",\"Feldman\",role = \"aut\")\n)",
  "Description": "Provides functions to do 'O2PLS-DA' analysis for multiple\nomics data integration. The algorithm came from \"O2-PLS, a\ntwo-block (X±Y) latent variable regression (LVR) method with an\nintegral OSC filter\" which published by Johan Trygg and Svante\nWold at 2003 <doi:10.1002/cem.775>. 'O2PLS' is a bidirectional\nmultivariate regression method that aims to separate the\ncovariance between two data sets (it was recently extended to\nmultiple data sets) (Löfstedt and Trygg, 2011\n<doi:10.1002/cem.1388>; Löfstedt et al., 2012\n<doi:10.1016/j.aca.2013.06.026>) from the systematic sources of\nvariance being specific for each data set separately.",
  "License": "GPL-3 + file LICENSE",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "RoxygenNote": "7.3.3",
  "URL": "https://github.com/guokai8/o2plsda",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-31 10:24:34 UTC",
    "User": "root"
  },
  "Author": "Kai Guo [aut, cre], Junguk Hur [aut], Eva Feldman [aut]",
  "Maintainer": "Kai Guo <guokai8@gmail.com>",
  "Config/pak/sysreqs": "cmake libglpk-dev make libicu-dev libuv1-dev\nlibxml2-dev libssl-dev",
  "Repository": "https://guokai8.r-universe.dev",
  "Date/Publication": "2025-12-02 01:32:34 UTC",
  "RemoteUrl": "https://github.com/guokai8/o2plsda",
  "RemoteRef": "HEAD",
  "RemoteSha": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
  "MD5sum": "7a847097604ee22f4ac7b4149eb2094b",
  "_user": "guokai8",
  "_type": "src",
  "_file": "o2plsda_0.0.28.tar.gz",
  "_fileid": "00c5768b65544f8f65e6a803be926ba3d31574c30414be4486f86fc4353d6334",
  "_filesize": 772741,
  "_sha256": "00c5768b65544f8f65e6a803be926ba3d31574c30414be4486f86fc4353d6334",
  "_created": "2026-05-31T10:24:34.000Z",
  "_published": "2026-05-31T10:34:55.647Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78718463027,
      "time": 190,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "7315962922"
    },
    {
      "job": 78718463044,
      "time": 139,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "7315958085"
    },
    {
      "job": 78718463052,
      "time": 150,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7315959105"
    },
    {
      "job": 78718463021,
      "time": 170,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7315960854"
    },
    {
      "job": 78718463026,
      "time": 168,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "7315960803"
    },
    {
      "job": 78718463036,
      "time": 321,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "7315976477"
    },
    {
      "job": 78718463029,
      "time": 136,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7315957732"
    },
    {
      "job": 78718463031,
      "time": 220,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7315965929"
    },
    {
      "job": 78718217258,
      "time": 276,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7315944414"
    },
    {
      "job": 78718463001,
      "time": 139,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7315957991"
    },
    {
      "job": 78718463016,
      "time": 429,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "ERROR",
      "artifact": "7315987062"
    },
    {
      "job": 78718463012,
      "time": 562,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "ERROR",
      "artifact": "7316000070"
    },
    {
      "job": 78718463019,
      "time": 83,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "ERROR",
      "artifact": "7315952614"
    }
  ],
  "_buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/guokai8/o2plsda",
  "_commit": {
    "id": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
    "author": "bioguo <bioguo@0587665262.vpn.umich.net>",
    "committer": "bioguo <bioguo@0587665262.vpn.umich.net>",
    "message": "revise the code\n",
    "time": 1764639154
  },
  "_maintainer": {
    "name": "Kai Guo",
    "email": "guokai8@gmail.com",
    "login": "guokai8",
    "description": "Love coding\nLove cooking",
    "uuid": 9088155
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppArmadillo",
      "role": "LinkingTo"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "ggrepel",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "gridExtra",
      "role": "Imports"
    },
    {
      "package": "igraph",
      "role": "Imports"
    },
    {
      "package": "plotly",
      "role": "Imports"
    },
    {
      "package": "reshape2",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "markdown",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "guokai8",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-49",
      "n": 1
    }
  ],
  "_tags": [],
  "_topics": [
    "integration",
    "multi-omics",
    "o2pls",
    "omics",
    "plsda",
    "openblas",
    "cpp",
    "openmp"
  ],
  "_stars": 8,
  "_userbio": {
    "uuid": 9088155,
    "type": "user",
    "name": "Kai Guo",
    "description": "Love coding\r\nLove cooking"
  },
  "_downloads": {
    "count": 272,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/o2plsda"
  },
  "_devurl": "https://github.com/guokai8/o2plsda",
  "_searchresults": 20,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/o2plsda.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/guokai8/o2plsda",
  "_realowner": "guokai8",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.0.12",
      "date": "2021-11-19"
    },
    {
      "version": "0.0.14",
      "date": "2022-01-05"
    },
    {
      "version": "0.0.15",
      "date": "2022-03-03"
    },
    {
      "version": "0.0.16",
      "date": "2022-07-09"
    },
    {
      "version": "0.0.17",
      "date": "2022-07-11"
    },
    {
      "version": "0.0.18",
      "date": "2022-08-12"
    },
    {
      "version": "0.0.22",
      "date": "2024-07-17"
    },
    {
      "version": "0.0.25",
      "date": "2024-07-18"
    },
    {
      "version": "0.0.26",
      "date": "2025-12-01"
    }
  ],
  "_exports": [
    "apply_sparsity",
    "AtA",
    "auto_determine_keepX",
    "auto_determine_keepY",
    "calculate_centroid_distances",
    "calculate_classification_error",
    "calculate_mahalanobis_distances",
    "calculate_max_distances",
    "calculate_prediction_probabilities",
    "calculate_regression_error",
    "calculate_sparse_vip",
    "colsds",
    "column_sums",
    "compare_models",
    "create_stratified_folds",
    "cv_sparse_o2pls_single",
    "cv_sparse_plsda",
    "eigenmult",
    "eigenthree",
    "evaluate_sparse_classification",
    "extract_sparse_orthogonal_X",
    "extract_sparse_orthogonal_Y",
    "find_optimal_parameters",
    "find_optimal_sparse_params",
    "fit_sparse_pls",
    "get_sparsity_info_internal",
    "getMCCV_cpp",
    "identify_stable_variables",
    "loadings",
    "loadings.O2pls",
    "loadings.o2plsda",
    "loadings.plsda",
    "o2cv",
    "o2cv_enhanced",
    "o2cv_sparse",
    "o2pls",
    "opls",
    "oplsda",
    "order_cpp",
    "order_str",
    "perform_single_bootstrap",
    "plot_opt_params",
    "plot_s4_biplot",
    "plot_s4_comparison",
    "plot_s4_contribution",
    "plot_s4_diagnostic",
    "plot_s4_loadings",
    "plot_s4_scores",
    "plot_s4_selection",
    "plot_s4_sparsity",
    "plot_sp_classification",
    "plot_sp_loadings",
    "plot_sp_scores",
    "plot_sp_selection",
    "plot_sp_vip",
    "plot_stab_barplot",
    "plot_stab_heatmap",
    "plot_stab_network",
    "plot_stab_summary",
    "plot_stab_threshold",
    "plot_tune_compare",
    "plot_tune_heatmap",
    "plot_tune_line",
    "plot_tune_surface",
    "plot.O2pls",
    "plot.o2plsda",
    "plot.plsda",
    "plot.sparse_plsda",
    "plot.SparseO2pls",
    "plot.stability_selection",
    "plot.TuneResult",
    "plsda",
    "predict",
    "predict_o2pls_classification",
    "predict_o2pls_regression",
    "predict.sparse_plsda",
    "predict.SparseO2pls",
    "preprocess_matrix",
    "print.O2pls",
    "print.plsda",
    "print.sparse_o2pls",
    "print.sparse_plsda",
    "print.SparseO2pls",
    "Q",
    "rcpp_rmse",
    "s2",
    "sample_cpp",
    "sample_lapply",
    "scad_threshold",
    "scores",
    "scores.O2pls",
    "scores.o2plsda",
    "scores.plsda",
    "selected_var_names",
    "selected_var_names.sparse_o2pls",
    "selected_var_names.sparse_plsda",
    "selected_var_names.SparseO2pls",
    "selected_vars",
    "selected_vars.default",
    "selected_vars.sparse_o2pls",
    "selected_vars.sparse_plsda",
    "selected_vars.SparseO2pls",
    "sort_str",
    "sparse_o2pls",
    "sparse_plsda",
    "sparsity_info",
    "sparsity_info.sparse_o2pls",
    "sparsity_info.sparse_plsda",
    "sparsity_info.SparseO2pls",
    "split_str",
    "stability_selection",
    "summary.O2pls",
    "summary.plsda",
    "summary.sparse_o2pls",
    "summary.sparse_plsda",
    "summary.SparseO2pls",
    "tune_sparse_keepX",
    "tune_sparse_o2pls",
    "unlist_cpp",
    "validate_sparse_inputs",
    "validate_tuning_inputs",
    "vip"
  ],
  "_help": [
    {
      "page": "extract-sparse_plsda",
      "title": "Extract elements from sparse_plsda objects",
      "topics": [
        "$,sparse_plsda-method"
      ]
    },
    {
      "page": "extract-SparseO2pls",
      "title": "Extract elements from SparseO2pls objects",
      "topics": [
        "$,SparseO2pls-method"
      ]
    },
    {
      "page": "apply_sparsity",
      "title": "Enhanced sparsity application function (FIXED VERSION)",
      "topics": [
        "apply_sparsity"
      ]
    },
    {
      "page": "calculate_mahalanobis_distances",
      "title": "Calculate Mahalanobis distances for classification",
      "topics": [
        "calculate_mahalanobis_distances"
      ]
    },
    {
      "page": "calculate_prediction_probabilities",
      "title": "Calculate prediction probabilities from distances",
      "topics": [
        "calculate_prediction_probabilities"
      ]
    },
    {
      "page": "compare_models",
      "title": "Compare multiple O2PLS models",
      "topics": [
        "compare_models"
      ]
    },
    {
      "page": "loadings",
      "title": "Extract the loadings from an O2PLS fit",
      "topics": [
        "loadings",
        "loadings.O2pls"
      ]
    },
    {
      "page": "loadings.o2plsda",
      "title": "extract the loading value from the O2PLSDA analysis",
      "topics": [
        "loadings.o2plsda"
      ]
    },
    {
      "page": "loadings.plsda",
      "title": "extract the loading value from the PLSDA analysis",
      "topics": [
        "loadings.plsda"
      ]
    },
    {
      "page": "o2cv",
      "title": "Cross validation for O2PLS",
      "topics": [
        "o2cv"
      ]
    },
    {
      "page": "o2cv_sparse",
      "title": "Enhanced sparse cross-validation that integrates with existing o2cv",
      "topics": [
        "o2cv_sparse"
      ]
    },
    {
      "page": "o2pls",
      "title": "fit O2PLS model with best nc, nx, ny",
      "topics": [
        "o2pls"
      ]
    },
    {
      "page": "O2pls-class",
      "title": "Class \"O2pls\" This class represents the Annotation information",
      "topics": [
        "O2pls-class"
      ]
    },
    {
      "page": "oplsda",
      "title": "Orthogonal partial least squares discriminant analysis",
      "topics": [
        "oplsda"
      ]
    },
    {
      "page": "plot.O2pls",
      "title": "Score or loading plot for the O2PLS results",
      "topics": [
        "plot.O2pls"
      ]
    },
    {
      "page": "plot.o2plsda",
      "title": "Score, VIP or loading plot for the O2PLS results",
      "topics": [
        "plot.o2plsda"
      ]
    },
    {
      "page": "plot.plsda",
      "title": "Score, VIP or loading plot for the plsda results",
      "topics": [
        "plot.plsda"
      ]
    },
    {
      "page": "plot.sparse_plsda",
      "title": "Plot method for Sparse PLS-DA results",
      "topics": [
        "plot.sparse_plsda"
      ]
    },
    {
      "page": "plot.SparseO2pls",
      "title": "Plot method for SparseO2pls S4 objects",
      "topics": [
        "plot.SparseO2pls"
      ]
    },
    {
      "page": "plot.stability_selection",
      "title": "Enhanced plot method for stability_selection objects",
      "topics": [
        "plot.stability_selection"
      ]
    },
    {
      "page": "plot.TuneResult",
      "title": "Enhanced plot method for TuneResult objects",
      "topics": [
        "plot.TuneResult"
      ]
    },
    {
      "page": "plsda",
      "title": "Partial least squares discriminant analysis",
      "topics": [
        "plsda"
      ]
    },
    {
      "page": "predict-sparse_plsda",
      "title": "Predict method for sparse_plsda objects",
      "topics": [
        "predict,sparse_plsda-method"
      ]
    },
    {
      "page": "predict-SparseO2pls",
      "title": "Predict method for SparseO2pls objects",
      "topics": [
        "predict,SparseO2pls-method"
      ]
    },
    {
      "page": "predict.sparse_plsda",
      "title": "Enhanced predict method for sparse PLS-DA",
      "topics": [
        "predict.sparse_plsda"
      ]
    },
    {
      "page": "predict.SparseO2pls",
      "title": "Enhanced predict method for sparse O2PLS",
      "topics": [
        "predict.SparseO2pls"
      ]
    },
    {
      "page": "print.O2pls",
      "title": "Print the summary of O2PLS results.",
      "topics": [
        "print.O2pls"
      ]
    },
    {
      "page": "print.plsda",
      "title": "Print the summary of plsda results.",
      "topics": [
        "print.plsda"
      ]
    },
    {
      "page": "print.SparseO2pls",
      "title": "Print method for sparse O2PLS results",
      "topics": [
        "print.SparseO2pls"
      ]
    },
    {
      "page": "scad_threshold",
      "title": "Enhanced SCAD thresholding function",
      "topics": [
        "scad_threshold"
      ]
    },
    {
      "page": "scores",
      "title": "Extract the scores from an O2PLS fit",
      "topics": [
        "scores"
      ]
    },
    {
      "page": "scores.O2pls",
      "title": "Extract the scores from an O2PLS fit",
      "topics": [
        "scores.O2pls"
      ]
    },
    {
      "page": "scores.o2plsda",
      "title": "Extract the scores from an O2PLS DA analysis",
      "topics": [
        "scores.o2plsda"
      ]
    },
    {
      "page": "scores.plsda",
      "title": "Extract the scores PLSDA analysis",
      "topics": [
        "scores.plsda"
      ]
    },
    {
      "page": "selected_var_names",
      "title": "Get names of selected variables",
      "topics": [
        "selected_var_names"
      ]
    },
    {
      "page": "selected_vars",
      "title": "Extract selected variables from sparse models",
      "topics": [
        "selected_vars"
      ]
    },
    {
      "page": "selected_vars.default",
      "title": "Default method for selected_vars",
      "topics": [
        "selected_vars.default"
      ]
    },
    {
      "page": "selected_vars.sparse_plsda",
      "title": "Extract selected variables from sparse PLS-DA models",
      "topics": [
        "selected_vars.sparse_plsda"
      ]
    },
    {
      "page": "selected_vars.SparseO2pls",
      "title": "Extract selected variables from SparseO2pls S4 objects",
      "topics": [
        "selected_vars.SparseO2pls"
      ]
    },
    {
      "page": "sparse_o2pls",
      "title": "Sparse Two-way Orthogonal Partial Least Squares",
      "topics": [
        "sparse_o2pls"
      ]
    },
    {
      "page": "sparse_plsda",
      "title": "Sparse Partial Least Squares Discriminant Analysis",
      "topics": [
        "sparse_plsda"
      ]
    },
    {
      "page": "SparseO2pls-class",
      "title": "Class \"SparseO2pls\" This class represents sparse O2PLS analysis results",
      "topics": [
        "SparseO2pls-class"
      ]
    },
    {
      "page": "sparsity_info",
      "title": "Get sparsity information from sparse models",
      "topics": [
        "sparsity_info",
        "sparsity_info,SparseO2pls-method",
        "sparsity_info,sparse_plsda-method",
        "sparsity_info.SparseO2pls",
        "sparsity_info.sparse_o2pls",
        "sparsity_info.sparse_plsda"
      ]
    },
    {
      "page": "stability_selection",
      "title": "Stability Selection for Sparse Methods",
      "topics": [
        "stability_selection"
      ]
    },
    {
      "page": "summary.O2pls",
      "title": "Summary of an O2PLS object",
      "topics": [
        "summary.O2pls"
      ]
    },
    {
      "page": "summary.plsda",
      "title": "Summary of an plsda object",
      "topics": [
        "summary.plsda"
      ]
    },
    {
      "page": "summary.sparse_plsda",
      "title": "Summary of sparse PLS-DA results",
      "topics": [
        "summary.sparse_plsda"
      ]
    },
    {
      "page": "summary.SparseO2pls",
      "title": "Summary method for sparse O2PLS results",
      "topics": [
        "summary.SparseO2pls"
      ]
    },
    {
      "page": "tune_sparse_keepX",
      "title": "Cross-validation for Sparse PLS-DA",
      "topics": [
        "tune_sparse_keepX"
      ]
    },
    {
      "page": "tune_sparse_o2pls",
      "title": "Cross-validation for Sparse O2PLS",
      "topics": [
        "tune_sparse_o2pls"
      ]
    },
    {
      "page": "TuneResult-class",
      "title": "Class \"TuneResult\"",
      "topics": [
        "TuneResult-class"
      ]
    },
    {
      "page": "vip",
      "title": "Extract the VIP values from the O2PLS-DA object",
      "topics": [
        "vip"
      ]
    }
  ],
  "_readme": "https://github.com/guokai8/o2plsda/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "base64enc",
    "bslib",
    "cachem",
    "cli",
    "cpp11",
    "crosstalk",
    "curl",
    "data.table",
    "digest",
    "dplyr",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fs",
    "generics",
    "ggplot2",
    "ggrepel",
    "glue",
    "gridExtra",
    "gtable",
    "highr",
    "htmltools",
    "htmlwidgets",
    "httr",
    "igraph",
    "isoband",
    "jquerylib",
    "jsonlite",
    "knitr",
    "labeling",
    "later",
    "lattice",
    "lazyeval",
    "lifecycle",
    "magrittr",
    "Matrix",
    "memoise",
    "mime",
    "openssl",
    "otel",
    "pillar",
    "pkgconfig",
    "plotly",
    "plyr",
    "promises",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "reshape2",
    "rlang",
    "rmarkdown",
    "S7",
    "sass",
    "scales",
    "stringi",
    "stringr",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "tinytex",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "xfun",
    "yaml"
  ],
  "_sysdeps": [
    {
      "shlib": "liblapack",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.26+ds-1ubuntu0.1",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libblas",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.26+ds-1ubuntu0.1",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    },
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_vignettes": [
    {
      "source": "o2plsda.Rmd",
      "filename": "o2plsda.html",
      "title": "Omics data integration with o2plsda",
      "author": "Kai Guo, University of Michigan",
      "engine": "knitr::knitr",
      "headings": [
        "o2plsda: Omics data integration with o2plsda",
        "Description",
        "Cross-Validation",
        "Installation",
        "Examples",
        "Citation",
        "Contact information"
      ],
      "created": "2025-12-02 01:32:34",
      "modified": "2025-12-02 01:32:34",
      "commits": 1
    }
  ],
  "_score": 4.903089986991944,
  "_indexed": true,
  "_nocasepkg": "o2plsda",
  "_universes": [
    "guokai8"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.28",
      "date": "2026-05-31T10:28:02.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "cea0b9dc449f97dc5ba2efbd17cd049a7fa4360f1415f3746b19488e4ec07917",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.0.28",
      "date": "2026-05-31T10:27:16.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "28b9374afb8daed9ccdf98c3894fd775b8a26c9b9867291b1c29b1344bd2462f",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.0.28",
      "date": "2026-05-31T10:27:27.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "efe380f6f44c47710b4544d89c085392372b5242585b2bff07552a1fcc06a816",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.0.28",
      "date": "2026-05-31T10:27:46.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "53a33e33d3db4b34fa7d32960f11ba3f716037ce11d815bb7f00c0610dfceb1b",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.28",
      "date": "2026-05-31T10:27:46.000Z",
      "arch": "aarch64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "2b868f9e71a5b5fb14797765d844f56e03bf716f084b56b77456cfe1520e3ac7",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.0.28",
      "date": "2026-05-31T10:29:57.000Z",
      "arch": "x86_64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "c5dd00878f95d9e78f8d499f824c7f4686a70276589bfe6402506e64bd36027d",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.0.28",
      "date": "2026-05-31T10:27:12.000Z",
      "arch": "aarch64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "ddec21cbdc4a272d4338ac196c79b21a4566820368fa1d9724fac1edf3eb5b7e",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.0.28",
      "date": "2026-05-31T10:28:21.000Z",
      "arch": "x86_64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "6eb6aed084115cac6cdb9bd6c926e9ac7e47515a497da372e3e95621695f478c",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.0.28",
      "date": "2026-05-31T10:27:24.000Z",
      "arch": "emscripten",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "7e3fc1a77c61dbba0399904c090d9f9e4e4d00721858753cc0782f2a2a3998bf",
      "status": "success",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.0.28",
      "date": "2026-05-31T10:31:51.000Z",
      "arch": "x86_64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "ab82492e11dbf38172e78baa13f1e38934ec664faab2388ca6f851e580920229",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.0.28",
      "date": "2026-05-31T10:33:59.000Z",
      "arch": "x86_64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "5aec94ce30eca7e4e9b534d67512161c7f2b7e0e4f325817d1b35d30ac5da859",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.0.28",
      "date": "2026-05-31T10:26:09.000Z",
      "arch": "x86_64",
      "commit": "56d3024a3c6ecae31f7c6cab7b11c6bc1b1098d2",
      "fileid": "c2a74f711615d2a21a3b80c38dc3d1c0032aaab9cf4da985228afa0d308603f3",
      "status": "failure",
      "check": "ERROR",
      "buildurl": "https://github.com/r-universe/guokai8/actions/runs/26709954763"
    }
  ]
}