{
  "_id": "6a1292cbacfb0bcc41d0b6a7",
  "Package": "edl",
  "Version": "1.1",
  "Date": "2021-09-15",
  "Title": "Toolbox for Error-Driven Learning Simulations with Two-Layer\nNetworks",
  "Authors@R": "c( person(\"Jacolien\", \"van Rij\", email=\"j.c.van.rij@rug.nl\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0001-7445-5647\")), person(\"Dorothée\", \"Hoppe\", email=\"d.b.hoppe@rug.nl\", role = c(\"aut\")))",
  "Maintainer": "Jacolien van Rij <j.c.van.rij@rug.nl>",
  "Description": "Error-driven learning (based on the Widrow & Hoff\n(1960)<https://isl.stanford.edu/~widrow/papers/c1960adaptiveswitching.pdf>\nlearning rule, and essentially the same as Rescorla-Wagner's\nlearning equations (Rescorla & Wagner, 1972, ISBN: 0390718017),\nwhich are also at the core of Naive Discrimination Learning,\n(Baayen et al, 2011, <doi:10.1037/a0023851>) can be used to\nexplain bottom-up human learning (Hoppe et al,\n<doi:10.31234/osf.io/py5kd>), but is also at the core of\nartificial neural networks applications in the form of the\nDelta rule. This package provides a set of functions for\nbuilding small-scale simulations to investigate the dynamics of\nerror-driven learning and it's interaction with the structure\nof the input. For modeling error-driven learning using the\nRescorla-Wagner equations the package 'ndl' (Baayen et al,\n2011, <doi:10.1037/a0023851>) is available on CRAN at\n<https://cran.r-project.org/package=ndl>. However, the package\ncurrently only allows tracing of a cue-outcome combination,\nrather than returning the learned networks. To fill this gap,\nwe implemented a new package with a few functions that\nfacilitate inspection of the networks for small error driven\nlearning simulations. Note that our functions are not optimized\nfor training large data sets (no parallel processing), as they\nare intended for small scale simulations and course examples.\n(Consider the python implementation 'pyndl'\n<https://pyndl.readthedocs.io/en/latest/> for that purpose.)",
  "License": "GPL (>= 2)",
  "LazyData": "true",
  "VignetteBuilder": "knitr",
  "RoxygenNote": "7.1.0",
  "Encoding": "UTF-8",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-24 05:52:44 UTC",
    "User": "root"
  },
  "Author": "Jacolien van Rij [aut, cre]\n(<https://orcid.org/0000-0001-7445-5647>), Dorothée Hoppe [aut]",
  "Repository": "https://jacolien.r-universe.dev",
  "Date/Publication": "2021-09-20 06:40:05 UTC",
  "RemoteUrl": "https://github.com/cran/edl",
  "RemoteRef": "HEAD",
  "RemoteSha": "c40160df056e31bfafda4197405bddf89158d4b4",
  "MD5sum": "951832b635127c91ea90fa0e081d16df",
  "_user": "jacolien",
  "_type": "src",
  "_file": "edl_1.1.tar.gz",
  "_fileid": "d07b9c74427a4c967145ae6dd2f2463be90b98261671dcc90c2bc95c4ba60bdd",
  "_filesize": 701744,
  "_sha256": "d07b9c74427a4c967145ae6dd2f2463be90b98261671dcc90c2bc95c4ba60bdd",
  "_created": "2026-05-24T05:52:44.000Z",
  "_published": "2026-05-24T05:55:23.894Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77575423061,
      "time": 123,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7182663099"
    },
    {
      "job": 77575423060,
      "time": 124,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7182663049"
    },
    {
      "job": 77575423059,
      "time": 131,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7182662061"
    },
    {
      "job": 77575423069,
      "time": 120,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7182660913"
    },
    {
      "job": 77575277438,
      "time": 164,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7182650284"
    },
    {
      "job": 77575423058,
      "time": 94,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7182660081"
    },
    {
      "job": 77575423063,
      "time": 90,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7182659665"
    },
    {
      "job": 77575423065,
      "time": 94,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7182660085"
    },
    {
      "job": 77575423068,
      "time": 87,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7182659500"
    }
  ],
  "_buildurl": "https://github.com/r-universe/jacolien/actions/runs/26353314371",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/edl",
  "_commit": {
    "id": "c40160df056e31bfafda4197405bddf89158d4b4",
    "author": "Jacolien van Rij <j.c.van.rij@rug.nl>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.1\n",
    "time": 1632120005
  },
  "_maintainer": {
    "name": "Jacolien van Rij",
    "email": "j.c.van.rij@rug.nl",
    "login": "jacolien",
    "description": "",
    "uuid": 12734899,
    "orcid": "0000-0001-7445-5647"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.0.0",
      "role": "Depends"
    },
    {
      "package": "plotfunctions",
      "version": ">= 1.4",
      "role": "Depends"
    },
    {
      "package": "data.table",
      "role": "Depends"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "jacolien",
      "count": 2,
      "uuid": 12734899
    }
  ],
  "_userbio": {
    "uuid": 12734899,
    "type": "user",
    "name": "Jacolien van Rij"
  },
  "_downloads": {
    "count": 212,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/edl"
  },
  "_mentions": 1,
  "_searchresults": 2,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/edl.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "manual.pdf"
  ],
  "_realowner": "jacolien",
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0",
      "date": "2021-04-12"
    },
    {
      "version": "1.1",
      "date": "2021-09-20"
    }
  ],
  "_exports": [
    "activationsCueSet",
    "activationsEvents",
    "activationsMatrix",
    "activationsOutcomes",
    "check",
    "checkWM",
    "createTrainingData",
    "createWM",
    "cueWindow",
    "getActivations",
    "getCues",
    "getLambda",
    "getOutcomes",
    "getUpdate",
    "getValues",
    "getWeightsByCue",
    "getWeightsByOutcome",
    "getWM",
    "luceChoice",
    "plotActivations",
    "plotCueWeights",
    "plotNetwork",
    "plotOutcomeWeights",
    "RWlearning",
    "RWlearningMatrix",
    "RWlearningNoCueCompetition",
    "RWlearningNoOutcomeCompetition",
    "setBackground",
    "updateWeights",
    "updateWeightsNoCueCompetition",
    "updateWeightsNoOutcomeCompetition"
  ],
  "_datasets": [
    {
      "name": "dat",
      "title": "Simulated learning data.",
      "object": "dat",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Shape",
        "Color",
        "Category",
        "Frequency2",
        "Frequency1"
      ],
      "rows": 36,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "activationsCueSet",
      "title": "Calculate the change in activation for a specific cue or set of cues.",
      "concept": [
        "functions for calculating activations"
      ],
      "topics": [
        "activationsCueSet"
      ]
    },
    {
      "page": "activationsEvents",
      "title": "Calculate the activations for each learning event.",
      "concept": [
        "functions for calculating activations"
      ],
      "topics": [
        "activationsEvents"
      ]
    },
    {
      "page": "activationsMatrix",
      "title": "Calculate the activations for one or a set of cues.",
      "concept": [
        "functions for calculating activations"
      ],
      "topics": [
        "activationsMatrix"
      ]
    },
    {
      "page": "activationsOutcomes",
      "title": "Calculate the activations for all outcomes in the data.",
      "concept": [
        "functions for calculating activations"
      ],
      "topics": [
        "activationsOutcomes"
      ]
    },
    {
      "page": "check",
      "title": "Remove empty cues and/or outcomes.",
      "topics": [
        "check"
      ]
    },
    {
      "page": "checkWM",
      "title": "Check whether cues and outcomes exist in a weight matrix and optionally add.",
      "topics": [
        "checkWM"
      ]
    },
    {
      "page": "createTrainingData",
      "title": "Create event training data from a frequency data frame.",
      "concept": [
        "Functions to prepare training data"
      ],
      "topics": [
        "createTrainingData"
      ]
    },
    {
      "page": "createWM",
      "title": "Create empty weight matrix based on a set of cues and outcomes.",
      "topics": [
        "createWM"
      ]
    },
    {
      "page": "cueWindow",
      "title": "Create a 'cue window', for overlapping or continuous cues.",
      "topics": [
        "cueWindow"
      ]
    },
    {
      "page": "dat",
      "title": "Simulated learning data.",
      "topics": [
        "dat"
      ]
    },
    {
      "page": "edl",
      "title": "Toolbox for Error-Driven Learning Simulations with Two-Layer Networks",
      "topics": [
        "edl"
      ]
    },
    {
      "page": "getActivations",
      "title": "Function to calculate the activations.",
      "concept": [
        "functions for calculating activations"
      ],
      "topics": [
        "getActivations"
      ]
    },
    {
      "page": "getCues",
      "title": "Extract cues from list of weightmatrices.",
      "topics": [
        "getCues"
      ]
    },
    {
      "page": "getLambda",
      "title": "Retrieve the lambda values for all or specific outcomes for each learning event.",
      "topics": [
        "getLambda"
      ]
    },
    {
      "page": "getOutcomes",
      "title": "Extract outcomes from list of weightmatrices.",
      "topics": [
        "getOutcomes"
      ]
    },
    {
      "page": "getUpdate",
      "title": "Retrieve the weight updates and their change for each learning event.",
      "topics": [
        "getUpdate"
      ]
    },
    {
      "page": "getValues",
      "title": "Retrieve all cues from a vector of text strings.",
      "topics": [
        "getValues"
      ]
    },
    {
      "page": "getWeightsByCue",
      "title": "Extract the change of connection weights between a specific cue and all outcomes.",
      "topics": [
        "getWeightsByCue"
      ]
    },
    {
      "page": "getWeightsByOutcome",
      "title": "Extract the change of connection weights between all cues and a specific outcome.",
      "topics": [
        "getWeightsByOutcome"
      ]
    },
    {
      "page": "getWM",
      "title": "Retrieve all cues from a vector of text strings.",
      "topics": [
        "getWM"
      ]
    },
    {
      "page": "luceChoice",
      "title": "Function implementing the Luce choice rule.",
      "topics": [
        "luceChoice"
      ]
    },
    {
      "page": "plotActivations",
      "title": "Visualize the change of connection weights between a specific outcome and all cues.",
      "topics": [
        "plotActivations"
      ]
    },
    {
      "page": "plotCueWeights",
      "title": "Visualize the change of connection weights between a specific cue and all outcomes.",
      "topics": [
        "plotCueWeights"
      ]
    },
    {
      "page": "plotNetwork",
      "title": "Return strong weights.",
      "topics": [
        "plotNetwork"
      ]
    },
    {
      "page": "plotOutcomeWeights",
      "title": "Visualize the change of connection weights between a specific outcome and all cues.",
      "topics": [
        "plotOutcomeWeights"
      ]
    },
    {
      "page": "RWlearning",
      "title": "Function implementing the Rescorla-Wagner learning.",
      "topics": [
        "RWlearning"
      ]
    },
    {
      "page": "RWlearningMatrix",
      "title": "Function implementing the Rescorla-Wagner learning.",
      "topics": [
        "RWlearningMatrix"
      ]
    },
    {
      "page": "RWlearningNoCueCompetition",
      "title": "Function implementing the Rescorla-Wagner learning equations without cue competition (for illustration purposes).",
      "concept": [
        "functions for explaining error-driven learning"
      ],
      "topics": [
        "RWlearningNoCueCompetition"
      ]
    },
    {
      "page": "RWlearningNoOutcomeCompetition",
      "title": "Function implementing the Rescorla-Wagner learning equetions without outcome competition (for illustration purposes).",
      "concept": [
        "functions for explaining error-driven learning"
      ],
      "topics": [
        "RWlearningNoOutcomeCompetition"
      ]
    },
    {
      "page": "setBackground",
      "title": "Set value background cue.",
      "topics": [
        "setBackground"
      ]
    },
    {
      "page": "updateWeights",
      "title": "Function implementing the Rescorla-Wagner learning for a single learning event.",
      "topics": [
        "updateWeights"
      ]
    },
    {
      "page": "updateWeightsNoCueCompetition",
      "title": "Function implementing the Rescorla-Wagner learning equations without cue competition for a single learning event.",
      "concept": [
        "functions for explaining error-driven learning"
      ],
      "topics": [
        "updateWeightsNoCueCompetition"
      ]
    },
    {
      "page": "updateWeightsNoOutcomeCompetition",
      "title": "Function implementing the Rescorla-Wagner learning equations without outcome competition (for illustration purposes) for a single learning event.",
      "concept": [
        "functions for explaining error-driven learning"
      ],
      "topics": [
        "updateWeightsNoOutcomeCompetition"
      ]
    }
  ],
  "_rundeps": [
    "data.table",
    "plotfunctions"
  ],
  "_vignettes": [
    {
      "source": "edl.Rmd",
      "filename": "edl.html",
      "title": "EDL",
      "author": "Jacolien van Rij & Dorothée Hoppe",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Loading library",
        "Example data",
        "step 1: Prepare data",
        "step 2: Create training data",
        "step 3: Learning",
        "step 4: Inspection",
        "step 5: Visualization",
        "Extra: Continue training",
        "step 6: Activations"
      ],
      "created": "2021-04-12 06:50:02",
      "modified": "2021-04-12 06:50:02",
      "commits": 1
    }
  ],
  "_score": 2,
  "_indexed": true,
  "_nocasepkg": "edl",
  "_universes": [
    "jacolien"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1",
      "date": "2026-05-24T05:54:34.000Z",
      "distro": "noble",
      "commit": "c40160df056e31bfafda4197405bddf89158d4b4",
      "fileid": "530cdabcb8fe1a7412948eb95fc699378474b7a25af34f4ac6d7d6501c120a8e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jacolien/actions/runs/26353314371"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.1",
      "date": "2026-05-24T05:54:34.000Z",
      "distro": "noble",
      "commit": "c40160df056e31bfafda4197405bddf89158d4b4",
      "fileid": "13c8f7704b90283751f0897568d01ec052414dbeaead50b0d07e0f1cc198903d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jacolien/actions/runs/26353314371"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1",
      "date": "2026-05-24T05:54:35.000Z",
      "commit": "c40160df056e31bfafda4197405bddf89158d4b4",
      "fileid": "d07444e8ca9346686ea32865c136ed763150a0e90977a2a661730a013065df40",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jacolien/actions/runs/26353314371"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.1",
      "date": "2026-05-24T05:54:23.000Z",
      "commit": "c40160df056e31bfafda4197405bddf89158d4b4",
      "fileid": "f852001a3fcbd988676e9b6a4a44acdb9a1c2ef1e831cfe03e3ee33b373a320b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jacolien/actions/runs/26353314371"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1",
      "date": "2026-05-24T05:54:33.000Z",
      "commit": "c40160df056e31bfafda4197405bddf89158d4b4",
      "fileid": "ef2184e4321765f79c64dc610e50258a63ecc1e12577cdd896a67dccd8885861",
      "status": "success",
      "buildurl": "https://github.com/r-universe/jacolien/actions/runs/26353314371"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1",
      "date": "2026-05-24T05:53:52.000Z",
      "commit": "c40160df056e31bfafda4197405bddf89158d4b4",
      "fileid": "8e962c0f95726419c27db0c13d26f277d81351749c1ab92c88d201cb0fcc03e9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jacolien/actions/runs/26353314371"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.1",
      "date": "2026-05-24T05:53:54.000Z",
      "commit": "c40160df056e31bfafda4197405bddf89158d4b4",
      "fileid": "1e4ee8953baf8a8dc901a4a5b77e29727d99f7a94e80dbeb7f049fd543f35fca",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jacolien/actions/runs/26353314371"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.1",
      "date": "2026-05-24T05:53:51.000Z",
      "commit": "c40160df056e31bfafda4197405bddf89158d4b4",
      "fileid": "7da37d11431a10633d9f4b24c8b396294319c566e200d40d4585b910d43c8bab",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jacolien/actions/runs/26353314371"
    }
  ]
}