{
  "_id": "6a102ba4acfb0bcc41c929a5",
  "Package": "zoomGroupStats",
  "Title": "Analyze Text, Audio, and Video from 'Zoom' Meetings",
  "Version": "0.1.0",
  "Authors@R": "person(given = \"Andrew\",\nfamily = \"Knight\",\nrole = c(\"aut\", \"cre\"),\nemail = \"knightap@wustl.edu\")",
  "URL": "http://zoomgroupstats.org",
  "Description": "Provides utilities for processing and analyzing the files\nthat are exported from a recorded 'Zoom' Meeting. This includes\nanalyzing data captured through video cameras and microphones,\nthe text-based chat, and meta-data. You can analyze aspects of\nthe conversation among meeting participants and their emotional\nexpressions throughout the meeting.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "RoxygenNote": "7.1.1",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-13 06:17:03 UTC",
    "User": "root"
  },
  "Author": "Andrew Knight [aut, cre]",
  "Maintainer": "Andrew Knight <knightap@wustl.edu>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2021-05-13 08:20:02 UTC",
  "RemoteUrl": "https://github.com/cran/zoomGroupStats",
  "RemoteRef": "HEAD",
  "RemoteSha": "8431abd407a0da6daa95e2a6feaa22a30f7b25c1",
  "MD5sum": "4d5faf6c17545d06b7c43c2de7eceba7",
  "_user": "cran",
  "_type": "src",
  "_file": "zoomGroupStats_0.1.0.tar.gz",
  "_fileid": "b680d1e08905485b147abc36515cf4fc4f163b1f551c93bd6337ba434819ede7",
  "_filesize": 567762,
  "_sha256": "b680d1e08905485b147abc36515cf4fc4f163b1f551c93bd6337ba434819ede7",
  "_created": "2026-05-13T06:17:03.000Z",
  "_published": "2026-05-22T10:10:44.930Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77359065744,
      "time": 133,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6962967258"
    },
    {
      "job": 77359065760,
      "time": 124,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6962965447"
    },
    {
      "job": 77359065121,
      "time": 221,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6962935183"
    },
    {
      "job": 77359065175,
      "time": 143,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7158033740"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/25781717864",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/zoomGroupStats",
  "_commit": {
    "id": "8431abd407a0da6daa95e2a6feaa22a30f7b25c1",
    "author": "Andrew Knight <knightap@wustl.edu>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.0\n",
    "time": 1620894002
  },
  "_maintainer": {
    "name": "Andrew Knight",
    "email": "knightap@wustl.edu"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 2.10",
      "role": "Depends"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "lubridate",
      "role": "Imports"
    },
    {
      "package": "magick",
      "role": "Imports"
    },
    {
      "package": "openxlsx",
      "role": "Imports"
    },
    {
      "package": "paws",
      "role": "Imports"
    },
    {
      "package": "pbapply",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "syuzhet",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 197,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/zoomGroupStats"
  },
  "_pkgdown": "http://zoomgroupstats.org",
  "_searchresults": 10,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/zoomGroupStats.html",
    "manual.pdf"
  ],
  "_realowner": "cran",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2021-05-13"
    }
  ],
  "_exports": [
    "aggSentiment",
    "batchGrabVideoStills",
    "batchProcessZoomOutput",
    "batchVideoFaceAnalysis",
    "createZoomRosetta",
    "grabVideoStills",
    "importZoomRosetta",
    "makeTimeWindows",
    "processZoomChat",
    "processZoomOutput",
    "processZoomParticipantsInfo",
    "processZoomTranscript",
    "textConversationAnalysis",
    "textSentiment",
    "turnTaking",
    "videoFaceAnalysis",
    "windowedTextConversationAnalysis"
  ],
  "_datasets": [
    {
      "name": "sample_batch_info",
      "title": "Parsed batch info file in a recorded 'Zoom' meeting",
      "object": "sample_batch_processed",
      "class": [
        "data.frame"
      ],
      "fields": [
        "batchMeetingId",
        "fileRoot",
        "participants",
        "transcript",
        "chat",
        "video",
        "sessionStartDateTime",
        "recordingStartDateTime",
        "participants_processed",
        "transcript_processed",
        "chat_processed",
        "video_processed",
        "dirRoot"
      ],
      "rows": 3,
      "table": true,
      "tojson": true
    },
    {
      "name": "sample_chat_processed",
      "title": "Parsed chat file in a 'Zoom' meeting",
      "object": "sample_chat_processed",
      "class": [
        "data.frame"
      ],
      "fields": [
        "batchMeetingId",
        "userName",
        "messageId",
        "messageSeconds",
        "messageTime",
        "message",
        "messageLanguage",
        "userEmail",
        "userId"
      ],
      "rows": 30,
      "table": true,
      "tojson": true
    },
    {
      "name": "sample_chat_sentiment_aws",
      "title": "Parsed chat file in a 'Zoom' meeting with sentiment analysis using AWS",
      "object": "sample_chat_sentiment_aws",
      "class": [
        "data.frame"
      ],
      "fields": [
        "batchMeetingId",
        "messageId",
        "userName",
        "messageSeconds",
        "messageTime",
        "message",
        "messageLanguage",
        "userEmail",
        "userId",
        "aws_sentClass",
        "aws_positive",
        "aws_negative",
        "aws_neutral",
        "aws_mixed"
      ],
      "rows": 30,
      "table": true,
      "tojson": true
    },
    {
      "name": "sample_chat_sentiment_syu",
      "title": "Parsed chat file in a 'Zoom' meeting with sentiment analysis using syuzhet",
      "object": "sample_chat_sentiment_syu",
      "class": [
        "data.frame"
      ],
      "fields": [
        "batchMeetingId",
        "messageId",
        "userName",
        "messageSeconds",
        "messageTime",
        "message",
        "messageLanguage",
        "userEmail",
        "userId",
        "wordCount",
        "syu_anger",
        "syu_anticipation",
        "syu_disgust",
        "syu_fear",
        "syu_joy",
        "syu_sadness",
        "syu_surprise",
        "syu_trust",
        "syu_negative",
        "syu_positive"
      ],
      "rows": 30,
      "table": true,
      "tojson": true
    },
    {
      "name": "sample_transcript_processed",
      "title": "Parsed spoken language in a 'Zoom' meeting.",
      "object": "sample_transcript_processed",
      "class": [
        "data.frame"
      ],
      "fields": [
        "batchMeetingId",
        "userName",
        "utteranceId",
        "utteranceStartSeconds",
        "utteranceStartTime",
        "utteranceEndSeconds",
        "utteranceEndTime",
        "utteranceTimeWindow",
        "utteranceMessage",
        "utteranceLanguage",
        "userEmail",
        "userId"
      ],
      "rows": 30,
      "table": true,
      "tojson": true
    },
    {
      "name": "sample_transcript_sentiment_aws",
      "title": "Parsed spoken language in a 'Zoom' meeting with AWS-based sentiment analysis.",
      "object": "sample_transcript_sentiment_aws",
      "class": [
        "data.frame"
      ],
      "fields": [
        "batchMeetingId",
        "utteranceId",
        "userName",
        "utteranceStartSeconds",
        "utteranceStartTime",
        "utteranceEndSeconds",
        "utteranceEndTime",
        "utteranceTimeWindow",
        "utteranceMessage",
        "utteranceLanguage",
        "userEmail",
        "userId",
        "aws_sentClass",
        "aws_positive",
        "aws_negative",
        "aws_neutral",
        "aws_mixed"
      ],
      "rows": 30,
      "table": true,
      "tojson": true
    },
    {
      "name": "sample_transcript_sentiment_syu",
      "title": "Parsed spoken language in a 'Zoom' meeting with syuzhet-based sentiment analysis.",
      "object": "sample_transcript_sentiment_syu",
      "class": [
        "data.frame"
      ],
      "fields": [
        "batchMeetingId",
        "utteranceId",
        "userName",
        "utteranceStartSeconds",
        "utteranceStartTime",
        "utteranceEndSeconds",
        "utteranceEndTime",
        "utteranceTimeWindow",
        "utteranceMessage",
        "utteranceLanguage",
        "userEmail",
        "userId",
        "wordCount",
        "syu_anger",
        "syu_anticipation",
        "syu_disgust",
        "syu_fear",
        "syu_joy",
        "syu_sadness",
        "syu_surprise",
        "syu_trust",
        "syu_negative",
        "syu_positive"
      ],
      "rows": 30,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "aggSentiment",
      "title": "Helper function to aggregate sentiment variables",
      "topics": [
        "aggSentiment"
      ]
    },
    {
      "page": "batchGrabVideoStills",
      "title": "Batch process video files, breaking them into stills",
      "topics": [
        "batchGrabVideoStills"
      ]
    },
    {
      "page": "batchProcessZoomOutput",
      "title": "Batch process files that have been downloaded from Zoom",
      "topics": [
        "batchProcessZoomOutput"
      ]
    },
    {
      "page": "batchVideoFaceAnalysis",
      "title": "Batch analyze faces in videos",
      "topics": [
        "batchVideoFaceAnalysis"
      ]
    },
    {
      "page": "createZoomRosetta",
      "title": "Create a file to aid in adding a unique identifier to link to the zoom user name",
      "topics": [
        "createZoomRosetta"
      ]
    },
    {
      "page": "grabVideoStills",
      "title": "Helper function to split a video into still frames",
      "topics": [
        "grabVideoStills"
      ]
    },
    {
      "page": "importZoomRosetta",
      "title": "Helper function to add unique identifiers to processed Zoom downloads",
      "topics": [
        "importZoomRosetta"
      ]
    },
    {
      "page": "makeTimeWindows",
      "title": "Helper function that creates temporal windows in datasets",
      "topics": [
        "makeTimeWindows"
      ]
    },
    {
      "page": "processZoomChat",
      "title": "Process a Zoom chat file",
      "topics": [
        "processZoomChat"
      ]
    },
    {
      "page": "processZoomOutput",
      "title": "Wrapper function to process the raw files from Zoom in a single call",
      "topics": [
        "processZoomOutput"
      ]
    },
    {
      "page": "processZoomParticipantsInfo",
      "title": "Process participant information from a Zoom meeting export",
      "topics": [
        "processZoomParticipantsInfo"
      ]
    },
    {
      "page": "processZoomTranscript",
      "title": "Process Zoom transcript file",
      "topics": [
        "processZoomTranscript"
      ]
    },
    {
      "page": "sample_batch_info",
      "title": "Parsed batch info file in a recorded 'Zoom' meeting",
      "topics": [
        "sample_batch_info"
      ]
    },
    {
      "page": "sample_chat_processed",
      "title": "Parsed chat file in a 'Zoom' meeting",
      "topics": [
        "sample_chat_processed"
      ]
    },
    {
      "page": "sample_chat_sentiment_aws",
      "title": "Parsed chat file in a 'Zoom' meeting with sentiment analysis using AWS",
      "topics": [
        "sample_chat_sentiment_aws"
      ]
    },
    {
      "page": "sample_chat_sentiment_syu",
      "title": "Parsed chat file in a 'Zoom' meeting with sentiment analysis using syuzhet",
      "topics": [
        "sample_chat_sentiment_syu"
      ]
    },
    {
      "page": "sample_transcript_processed",
      "title": "Parsed spoken language in a 'Zoom' meeting.",
      "topics": [
        "sample_transcript_processed"
      ]
    },
    {
      "page": "sample_transcript_sentiment_aws",
      "title": "Parsed spoken language in a 'Zoom' meeting with AWS-based sentiment analysis.",
      "topics": [
        "sample_transcript_sentiment_aws"
      ]
    },
    {
      "page": "sample_transcript_sentiment_syu",
      "title": "Parsed spoken language in a 'Zoom' meeting with syuzhet-based sentiment analysis.",
      "topics": [
        "sample_transcript_sentiment_syu"
      ]
    },
    {
      "page": "textConversationAnalysis",
      "title": "Analyze conversation attributes",
      "topics": [
        "textConversationAnalysis"
      ]
    },
    {
      "page": "textSentiment",
      "title": "Conduct a sentiment analysis on text data",
      "topics": [
        "textSentiment"
      ]
    },
    {
      "page": "turnTaking",
      "title": "Simple conversational turn-taking analysis",
      "topics": [
        "turnTaking"
      ]
    },
    {
      "page": "videoFaceAnalysis",
      "title": "Analyze the facial features within an exported Zoom video file",
      "topics": [
        "videoFaceAnalysis"
      ]
    },
    {
      "page": "windowedTextConversationAnalysis",
      "title": "Run a windowed analysis on either a Zoom transcript or chat This function conducts a temporal window analysis on the conversation in either a Zoom transcript or chat. It replicates the textConversationAnalysis function across a set of windows at a window size specified by the user.",
      "topics": [
        "windowedTextConversationAnalysis"
      ]
    }
  ],
  "_readme": "https://github.com/cran/zoomGroupStats/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "base64enc",
    "cli",
    "cpp11",
    "curl",
    "data.table",
    "digest",
    "dplyr",
    "dtt",
    "generics",
    "glue",
    "httr2",
    "jsonlite",
    "lattice",
    "lifecycle",
    "lubridate",
    "magick",
    "magrittr",
    "NLP",
    "openssl",
    "openxlsx",
    "paws",
    "paws.analytics",
    "paws.application.integration",
    "paws.common",
    "paws.compute",
    "paws.cost.management",
    "paws.customer.engagement",
    "paws.database",
    "paws.developer.tools",
    "paws.end.user.computing",
    "paws.machine.learning",
    "paws.management",
    "paws.networking",
    "paws.security.identity",
    "paws.storage",
    "pbapply",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "rappdirs",
    "Rcpp",
    "rlang",
    "slam",
    "stringi",
    "stringr",
    "sys",
    "syuzhet",
    "textshape",
    "tibble",
    "tidyr",
    "tidyselect",
    "timechange",
    "utf8",
    "vctrs",
    "withr",
    "xml2",
    "zip",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "part01-configure-zoom.Rmd",
      "filename": "part01-configure-zoom.html",
      "title": "Part 1: Configuring Zoom to Capture Useful Data",
      "author": "Andrew P. Knight",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Develop a standardized protocol",
        "Maximize degrees of freedom",
        "Require users to be registered in Zoom",
        "Capture timestamps to sync up data streams",
        "Next Steps"
      ],
      "created": "2021-05-13 08:20:02",
      "modified": "2021-05-13 08:20:02",
      "commits": 1
    },
    {
      "source": "part02-process-zoom-files.Rmd",
      "filename": "part02-process-zoom-files.html",
      "title": "Part 2: Turning Zoom Downloads into Datasets",
      "author": "Andrew P. Knight",
      "engine": "knitr::rmarkdown",
      "headings": [
        "How to Download Files from Zoom",
        "Naming the Downloaded Files from Zoom",
        "Prepare a Batch Spreadsheet",
        "Process your Batch",
        "batchInfo",
        "meetInfo & partInfo",
        "transcript & chat",
        "rosetta",
        "Add a Unique Individual Identifier to All Elements",
        "Next Steps"
      ],
      "created": "2021-05-13 08:20:02",
      "modified": "2021-05-13 08:20:02",
      "commits": 1
    },
    {
      "source": "part03-analyze-zoom-conversation-data.Rmd",
      "filename": "part03-analyze-zoom-conversation-data.html",
      "title": "Part 3: Analyzing Conversations in Zoom",
      "author": "Andrew P. Knight",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Overview of text-based data in Zoom",
        "Cleaning and modifying text-based data",
        "About the Zoom transcript file",
        "About the Zoom chat file",
        "Analyzing conversations in transcript and chat",
        "Performing sentiment analysis",
        "Performing conversation analysis",
        "Windowed conversation analysis",
        "Next Steps"
      ],
      "created": "2021-05-13 08:20:02",
      "modified": "2021-05-13 08:20:02",
      "commits": 1
    },
    {
      "source": "part04-analyze-zoom-video-data.Rmd",
      "filename": "part04-analyze-zoom-video-data.html",
      "title": "Part 4: Analyzing Video Data from Zoom",
      "author": "Andrew P. Knight",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction to Analyzing Video from Zoom",
        "Parsing Zoom Video feed",
        "Analyzing attributes of detected faces",
        "Next Steps"
      ],
      "created": "2021-05-13 08:20:02",
      "modified": "2021-05-13 08:20:02",
      "commits": 1
    }
  ],
  "_score": 3.3010299956639813,
  "_indexed": true,
  "_nocasepkg": "zoomgroupstats",
  "_universes": [
    "cran"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-05-13T06:19:14.000Z",
      "distro": "noble",
      "commit": "8431abd407a0da6daa95e2a6feaa22a30f7b25c1",
      "fileid": "1b351485e273c59d5ea1fd8cffe3f3b4e5a759fb2e9b075848d25ba4943ee82f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25781717864"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-05-13T06:19:04.000Z",
      "distro": "noble",
      "commit": "8431abd407a0da6daa95e2a6feaa22a30f7b25c1",
      "fileid": "5839c69aec4790037677e660a094d9ad02b68f317b3ae2c4c089665e2b33c10b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25781717864"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-05-22T10:10:27.000Z",
      "commit": "8431abd407a0da6daa95e2a6feaa22a30f7b25c1",
      "fileid": "248548fd7cea78362682bc375a9622ce3a2a0b8bd46c361921243d8d45e46896",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25781717864"
    }
  ]
}