{
  "_id": "6a17ddd1acfb0bcc41d9cc3e",
  "Package": "NeuroDecodeR",
  "Title": "Decode Information from Neural Activity",
  "Version": "0.2.0",
  "Authors@R": "c(\nperson(\"Ethan\", \"Meyers\", email = \"ethan.meyers@gmail.com\",\nrole = c(\"aut\", \"cre\"))\n)",
  "Description": "Neural decoding is method of analyzing neural data that\nuses a pattern classifiers to predict experimental conditions\nbased on neural activity. 'NeuroDecodeR' is a system of objects\nthat makes it easy to run neural decoding analyses. For more\ninformation on neural decoding see Meyers & Kreiman (2011)\n<doi:10.7551/mitpress/8404.003.0024>.",
  "URL": "https://emeyers.github.io/NeuroDecodeR/,\nhttps://github.com/emeyers/NeuroDecodeR",
  "BugReports": "https://github.com/emeyers/NeuroDecodeR/issues",
  "License": "GPL-3",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.2.3",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://emeyers.r-universe.dev",
  "Date/Publication": "2024-03-15 04:45:25 UTC",
  "RemoteUrl": "https://github.com/emeyers/neurodecoder",
  "RemoteRef": "HEAD",
  "RemoteSha": "826e2119a69d7879c3f58c75854272324dead2a7",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-28 06:09:26 UTC",
    "User": "root"
  },
  "Author": "Ethan Meyers [aut, cre]",
  "Maintainer": "Ethan Meyers <ethan.meyers@gmail.com>",
  "MD5sum": "1b84148b2175a035519a05366c43a436",
  "_user": "emeyers",
  "_type": "src",
  "_file": "NeuroDecodeR_0.2.0.tar.gz",
  "_fileid": "b89654e68fcd431bd1bb4ac55790cc63cdf573a21471196ec3af8984083da1ba",
  "_filesize": 4338046,
  "_sha256": "b89654e68fcd431bd1bb4ac55790cc63cdf573a21471196ec3af8984083da1ba",
  "_created": "2026-05-28T06:09:26.000Z",
  "_published": "2026-05-28T06:16:49.326Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78233913072,
      "time": 207,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7258919893"
    },
    {
      "job": 78233912988,
      "time": 206,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7258919753"
    },
    {
      "job": 78233912995,
      "time": 246,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7258919926"
    },
    {
      "job": 78233913185,
      "time": 234,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7258955514"
    },
    {
      "job": 78233368893,
      "time": 295,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7258874598"
    },
    {
      "job": 78233912989,
      "time": 115,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7258899595"
    },
    {
      "job": 78233913117,
      "time": 115,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7258899530"
    },
    {
      "job": 78233913006,
      "time": 180,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7258914452"
    },
    {
      "job": 78233913005,
      "time": 158,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7258909083"
    }
  ],
  "_buildurl": "https://github.com/r-universe/emeyers/actions/runs/26557805593",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/emeyers/neurodecoder",
  "_commit": {
    "id": "826e2119a69d7879c3f58c75854272324dead2a7",
    "author": "Ethan Meyers <Ethan.Meyers@gmail.com>",
    "committer": "Ethan Meyers <Ethan.Meyers@gmail.com>",
    "message": "Exported the aggregate functions for rm_main_result and rm_confusion_matrix to get it to pass the Windows checks. Hopefully this will not make these methods public.\n",
    "time": 1710477925
  },
  "_maintainer": {
    "name": "Ethan Meyers",
    "email": "ethan.meyers@gmail.com",
    "login": "emeyers",
    "description": "",
    "uuid": 8442743
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "doSNOW",
      "role": "Imports"
    },
    {
      "package": "e1071",
      "role": "Imports"
    },
    {
      "package": "forcats",
      "role": "Imports"
    },
    {
      "package": "foreach",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "gridExtra",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "R.matlab",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tictoc",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    }
  ],
  "_owner": "emeyers",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 14,
  "_contributors": [
    {
      "user": "emeyers",
      "count": 534,
      "uuid": 8442743
    },
    {
      "user": "lilyrithi",
      "count": 11,
      "uuid": 29405372
    },
    {
      "user": "muschellij2",
      "count": 5,
      "uuid": 1075118
    },
    {
      "user": "michaelzzs",
      "count": 2,
      "uuid": 54911896
    },
    {
      "user": "priscillachand",
      "count": 2,
      "uuid": 40178508
    },
    {
      "user": "olivroy",
      "count": 1,
      "uuid": 52606734
    },
    {
      "user": "tuotuoz",
      "count": 1,
      "uuid": 40042621
    }
  ],
  "_userbio": {
    "uuid": 8442743,
    "type": "user",
    "name": "Ethan Meyers"
  },
  "_downloads": {
    "count": 161,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/NeuroDecodeR"
  },
  "_devurl": "https://github.com/emeyers/neurodecoder",
  "_pkgdown": "https://emeyers.github.io/NeuroDecodeR/",
  "_searchresults": 19,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NeuroDecodeR.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/emeyers/neurodecoder",
  "_realowner": "emeyers",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2022-09-29"
    },
    {
      "version": "0.2.0",
      "date": "2024-03-15"
    }
  ],
  "_exports": [
    "aggregate_CV_split_results",
    "aggregate_resample_run_results",
    "cl_max_correlation",
    "cl_poisson_naive_bayes",
    "cl_svm",
    "convert_matlab_raster_data",
    "create_binned_data",
    "cv_standard",
    "ds_basic",
    "ds_generalization",
    "fp_select_k_features",
    "fp_zscore",
    "get_data",
    "get_num_label_repetitions",
    "get_parameters",
    "get_predictions",
    "get_siteIDs_with_k_label_repetitions",
    "log_check_results_already_exist",
    "log_load_results_from_params",
    "log_load_results_from_result_name",
    "log_save_results",
    "plot_main_results",
    "preprocess_data",
    "read_matlab_raster_data",
    "read_raster_data",
    "rm_confusion_matrix",
    "rm_main_results",
    "run_decoding",
    "test_valid_ndr_object",
    "test_valid_raster_format"
  ],
  "_help": [
    {
      "page": "cl_max_correlation",
      "title": "A maximum correlation coefficient classifier (CL)",
      "concept": [
        "classifier"
      ],
      "topics": [
        "cl_max_correlation"
      ]
    },
    {
      "page": "cl_poisson_naive_bayes",
      "title": "A Poisson Naive Bayes classifier (CL)",
      "concept": [
        "classifier"
      ],
      "topics": [
        "cl_poisson_naive_bayes"
      ]
    },
    {
      "page": "cl_svm",
      "title": "A support vector machine classifier (CL)",
      "concept": [
        "classifier"
      ],
      "topics": [
        "cl_svm"
      ]
    },
    {
      "page": "convert_matlab_raster_data",
      "title": "Convert raster data in MATLAB to R",
      "topics": [
        "convert_matlab_raster_data"
      ]
    },
    {
      "page": "create_binned_data",
      "title": "Convert data from raster format to binned format",
      "topics": [
        "create_binned_data"
      ]
    },
    {
      "page": "cv_standard",
      "title": "The standard cross-validator (CV)",
      "concept": [
        "cross-validator"
      ],
      "topics": [
        "cv_standard"
      ]
    },
    {
      "page": "ds_basic",
      "title": "A basic datasource (DS)",
      "concept": [
        "datasource"
      ],
      "topics": [
        "ds_basic"
      ]
    },
    {
      "page": "ds_generalization",
      "title": "A datasource (DS) that allows training and testing on different but related labels",
      "concept": [
        "datasource"
      ],
      "topics": [
        "ds_generalization"
      ]
    },
    {
      "page": "fp_select_k_features",
      "title": "A feature preprocessor (FP) that reduces data to the k most selective features",
      "concept": [
        "feature_preprocessor"
      ],
      "topics": [
        "fp_select_k_features"
      ]
    },
    {
      "page": "fp_zscore",
      "title": "A feature preprocessor (FP) that z-score normalizes the data",
      "concept": [
        "feature_preprocessor"
      ],
      "topics": [
        "fp_zscore"
      ]
    },
    {
      "page": "get_num_label_repetitions",
      "title": "Get the number of sites have at least k trials of each label level",
      "topics": [
        "get_num_label_repetitions"
      ]
    },
    {
      "page": "get_num_label_repetitions_each_site",
      "title": "Get the number of trial repetitions for a given label for each site",
      "topics": [
        "get_num_label_repetitions_each_site"
      ]
    },
    {
      "page": "get_parameters.cv_standard",
      "title": "Get parameters of an NeuroDecodeR object",
      "topics": [
        "get_parameters.cv_standard"
      ]
    },
    {
      "page": "get_siteIDs_with_k_label_repetitions",
      "title": "Get the sitesIDs that have at least k trials for all label level",
      "topics": [
        "get_siteIDs_with_k_label_repetitions"
      ]
    },
    {
      "page": "log_check_results_already_exist",
      "title": "A function that checks if a decoding analysis has already been run",
      "topics": [
        "log_check_results_already_exist"
      ]
    },
    {
      "page": "log_load_results_from_params",
      "title": "A function that loads DECODING_RESULTS based on decoding_parameters",
      "topics": [
        "log_load_results_from_params"
      ]
    },
    {
      "page": "log_load_results_from_result_name",
      "title": "A function that loads DECODING_RESULTS based on the result_name",
      "topics": [
        "log_load_results_from_result_name"
      ]
    },
    {
      "page": "log_save_results",
      "title": "Saves the DECODING_RESULTS and logs the parameters used in the analysis",
      "topics": [
        "log_save_results"
      ]
    },
    {
      "page": "plot_main_results",
      "title": "A plot function to plot multiple rm_main_results",
      "concept": [
        "result_metrics"
      ],
      "topics": [
        "plot_main_results"
      ]
    },
    {
      "page": "plot.label_repetition",
      "title": "A plot function for label_repetition object",
      "topics": [
        "plot.label_repetition"
      ]
    },
    {
      "page": "plot.raster_data",
      "title": "A plot function for data in raster format",
      "topics": [
        "plot.raster_data"
      ]
    },
    {
      "page": "plot.rm_confusion_matrix",
      "title": "A plot function for the rm_confusion_matrix object",
      "concept": [
        "result_metrics"
      ],
      "topics": [
        "plot.rm_confusion_matrix"
      ]
    },
    {
      "page": "plot.rm_main_results",
      "title": "A plot function for the rm_main_results object",
      "concept": [
        "result_metrics"
      ],
      "topics": [
        "plot.rm_main_results"
      ]
    },
    {
      "page": "read_raster_data",
      "title": "Read a csv, rda, rds or mat file in raster format",
      "topics": [
        "read_raster_data"
      ]
    },
    {
      "page": "rm_confusion_matrix",
      "title": "A result metric (RM) that calculates confusion matrices",
      "concept": [
        "result_metrics"
      ],
      "topics": [
        "rm_confusion_matrix"
      ]
    },
    {
      "page": "rm_main_results",
      "title": "A result metric (RM) that calculates main decoding accuracy measures",
      "concept": [
        "result_metrics"
      ],
      "topics": [
        "rm_main_results"
      ]
    },
    {
      "page": "run_decoding.cv_standard",
      "title": "A cross-validator (CV) method to run a decoding analysis",
      "topics": [
        "run_decoding.cv_standard"
      ]
    },
    {
      "page": "test_valid_raster_format",
      "title": "Tests if a data frame is in valid raster format",
      "topics": [
        "test_valid_raster_format"
      ]
    }
  ],
  "_readme": "https://github.com/emeyers/neurodecoder/raw/HEAD/README.md",
  "_rundeps": [
    "class",
    "cli",
    "codetools",
    "cpp11",
    "doSNOW",
    "dplyr",
    "e1071",
    "farver",
    "forcats",
    "foreach",
    "generics",
    "ggplot2",
    "glue",
    "gridExtra",
    "gtable",
    "isoband",
    "iterators",
    "labeling",
    "lifecycle",
    "magrittr",
    "MASS",
    "pillar",
    "pkgconfig",
    "proxy",
    "purrr",
    "R.matlab",
    "R.methodsS3",
    "R.oo",
    "R.utils",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "snow",
    "stringi",
    "stringr",
    "tibble",
    "tictoc",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "data_formats.Rmd",
      "filename": "data_formats.html",
      "title": "Data formats",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Raster format",
        "Checking if data is in valid raster format",
        "Example raster-format data",
        "Binned format",
        "Checking if data is in valid binned format",
        "Example binned-format data"
      ],
      "created": "2020-07-08 17:57:23",
      "modified": "2021-07-09 23:45:42",
      "commits": 9
    },
    {
      "source": "datasets.Rmd",
      "filename": "datasets.html",
      "title": "Datasets",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Zhang-Desimone 7 object dataset",
        "Accessing the dataset",
        "Qi-Constantinidis pre and post training dataset",
        "Isik 26 letter MEG dataset"
      ],
      "created": "2020-07-08 21:00:32",
      "modified": "2022-09-19 01:26:25",
      "commits": 8
    },
    {
      "source": "generalization_tutorial.Rmd",
      "filename": "generalization_tutorial.html",
      "title": "Generalization analysis tutorial",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Testing invariant neural representations using the NDR",
        "Using the Zhang-Desimone 7 object dataset to test position invariance",
        "Binning the data",
        "Creating a classifier and a preprocessor",
        "Using the ds_generalization to train and test at different locations",
        "Training and testing at all locations",
        "Plotting the results"
      ],
      "created": "2020-06-17 14:54:00",
      "modified": "2022-09-27 17:38:48",
      "commits": 17
    },
    {
      "source": "introduction_tutorial.Rmd",
      "filename": "introduction_tutorial.html",
      "title": "Introductory tutorial",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview of the NDR",
        "About the data used in this tutorial",
        "Data formats",
        "Raster format",
        "Binning the data",
        "Determining how many times each condition was repeated",
        "Performing a decoding analysis",
        "Creating a Datasource (DS)",
        "Creating a feature-preprocessor (FP)",
        "Creating a classifier (CL)",
        "Creating result metrics (RM)",
        "Creating a cross-validator (CV)",
        "Running the decoding analysis",
        "Plotting the results",
        "Plotting the main results",
        "Plotting confusion matrices",
        "Saving the results",
        "Running an analysis using the pipe (|>) operator"
      ],
      "created": "2019-07-26 18:28:16",
      "modified": "2022-09-30 01:46:41",
      "commits": 32
    },
    {
      "source": "NDR_object_specification.Rmd",
      "filename": "NDR_object_specification.html",
      "title": "NeuroDecodeR object specification",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Datasources (DS)",
        "Implementing an DS: methods and data formats",
        "Example of internals of DS objects using the ds_basic object",
        "Feature preprocessors (FP)",
        "Implementing an FP: required methods and data formats",
        "training_set",
        "test_set",
        "Example of internals of FP objects using the fp_zscore",
        "Classifiers (CL)",
        "Implementing a CL: required methods and data formats",
        "Example of internals of CL object using the cl_max_correlation",
        "Result metrics (RM)",
        "Implementing an RM: required methods and data formats",
        "aggregate_CV_split_results() method",
        "aggregate_resample_run_results() method",
        "Example of result metrics",
        "Cross-validators (CV)",
        "Implementing a CV: required methods and data formats",
        "Example of cross-validators"
      ],
      "created": "2020-08-11 22:39:56",
      "modified": "2022-09-30 01:46:41",
      "commits": 5
    }
  ],
  "_score": 6.600972895686748,
  "_indexed": true,
  "_nocasepkg": "neurodecoder",
  "_universes": [
    "emeyers"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-05-28T06:11:45.000Z",
      "distro": "noble",
      "commit": "826e2119a69d7879c3f58c75854272324dead2a7",
      "fileid": "62df7b7188fe65dc56c9c653cabcf36210b0aff7b8bd5f5a43ad36f5fdd91c7d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emeyers/actions/runs/26557805593"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-05-28T06:11:53.000Z",
      "distro": "noble",
      "commit": "826e2119a69d7879c3f58c75854272324dead2a7",
      "fileid": "230380c8fe9851ff201fa4c3dd6fa132ccf6660006b5010b1207b7a72c6996e5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emeyers/actions/runs/26557805593"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.0",
      "date": "2026-05-28T06:12:04.000Z",
      "commit": "826e2119a69d7879c3f58c75854272324dead2a7",
      "fileid": "982d75f6bf498c460a135b5ff5d07119d07710118632d7ed0e84d411003fb7a7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emeyers/actions/runs/26557805593"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.2.0",
      "date": "2026-05-28T06:14:35.000Z",
      "commit": "826e2119a69d7879c3f58c75854272324dead2a7",
      "fileid": "078f618605dd2991b9962f8e82748da568c5c20c56e1d589f452fc5f8fabd00c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emeyers/actions/runs/26557805593"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.0",
      "date": "2026-05-28T06:11:41.000Z",
      "commit": "826e2119a69d7879c3f58c75854272324dead2a7",
      "fileid": "b7f3c5479788412be90c115974e96236b714cf40b9af38da9f30ca7552f2af54",
      "status": "success",
      "buildurl": "https://github.com/r-universe/emeyers/actions/runs/26557805593"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-05-28T06:10:37.000Z",
      "commit": "826e2119a69d7879c3f58c75854272324dead2a7",
      "fileid": "2c5f40146fcde2fbecb2952858f4258ce26ac32bb01aa262944d0980cbef73a8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emeyers/actions/runs/26557805593"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-05-28T06:11:04.000Z",
      "commit": "826e2119a69d7879c3f58c75854272324dead2a7",
      "fileid": "3b8ec3d62968bd35f7a68123756dd3bbb823f92168731713fe368dcb99709f19",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emeyers/actions/runs/26557805593"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-05-28T06:10:42.000Z",
      "commit": "826e2119a69d7879c3f58c75854272324dead2a7",
      "fileid": "37a9236a8e1b0b2613b4cda449129054816c2c2c28dba70101da35a8847ddf0c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/emeyers/actions/runs/26557805593"
    }
  ]
}