The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
This vignette demonstrates the supported v0.1.0 core using the package’s public API:
The package exposes additional interactive guidance helpers, but the functions below define the supported analysis workflow for v0.1.0:
Supported workflow functions ( 21 ):
basic_transcript_analysis()quick_analysis()batch_basic_analysis()load_zoom_transcript()process_zoom_transcript()consolidate_transcript()summarize_transcript_metrics()summarize_transcript_files()analyze_transcripts()plot_users()write_metrics()load_roster()detect_unmatched_names()match_names_workflow()write_unresolved()ensure_privacy()privacy_audit()anonymize_educational_data()validate_privacy_compliance()review_privacy_risks()generate_privacy_review_report()# Load a sample transcript
transcript_file <- system.file("extdata/test_transcripts/intro_statistics_week1.vtt",
package = "engager"
)
# Load the transcript
transcript <- load_zoom_transcript(transcript_file)
cat("Transcript loaded with", nrow(transcript), "comments\n")
#> Transcript loaded with 56 comments# Process transcript with privacy defaults
processed <- process_zoom_transcript(
transcript_df = transcript,
add_dead_air = TRUE,
consolidate_comments = TRUE
)
metrics <- summarize_transcript_metrics(
transcript_df = processed,
names_exclude = c("dead_air")
)
head(metrics)
#> # A tibble: 4 × 13
#> transcript_file name n duration wordcount comments perc_n perc_duration
#> <chr> <chr> <int> <dbl> <dbl> <I<list> <dbl> <dbl>
#> 1 intro_statistics… Stud… 14 155 361 <chr> 46.7 71.8
#> 2 intro_statistics… Stud… 6 23 48 <chr> 20 10.6
#> 3 intro_statistics… Stud… 5 19 37 <chr> 16.7 8.80
#> 4 intro_statistics… Stud… 5 19 40 <chr> 16.7 8.80
#> # ℹ 5 more variables: perc_wordcount <dbl>, n_perc <dbl>, duration_perc <dbl>,
#> # wordcount_perc <dbl>, wpm <dbl>engagement_plot <- plot_users(
metrics,
metric = "n",
facet_by = "none",
mask_by = "name"
)
print(engagement_plot)# Check privacy risk with synthetic data
synthetic_data <- data.frame(
name = c("Student A", "Student B", "Instructor"),
message = c("Hello", "Good morning", "Welcome to class"),
timestamp = c("00:01:00", "00:02:00", "00:00:30")
)
# Privacy review helpers flag recognized identifier-like columns. They do not
# prove that a data set or free-text field contains no identifying information.
privacy_review <- review_privacy_risks(synthetic_data, audit_log = FALSE)
privacy_review$pii_detected
#> [1] "name"
privacy_review$recommendations
#> [1] "PII detected in columns: name"
#> [2] "Consider using ensure_privacy() to mask identifiable data"
#> [3] "Review institutional privacy policies for data handling"
#> [4] "Ensure data access is limited to authorized personnel"
#> [5] "Use ensure_privacy(..., privacy_level = 'mask') or write_metrics(..., privacy_level = 'mask') for masked outputs"
#> [6] "Implement secure data storage and transmission"
#> [7] "Train personnel on applicable privacy requirements"
#> [8] "Maintain audit trails for data access and modifications"load_zoom_transcript() - Load Zoom transcript
filesprocess_zoom_transcript() - Process and clean
transcriptsconsolidate_transcript() - Consolidate consecutive
commentssummarize_transcript_files() - Summarize transcripts at
file levelanalyze_transcripts() - Main analysis functionsummarize_transcript_metrics() - Calculate engagement
metricsensure_privacy() - Mask recognized structured
identifier columnsprivacy_audit() - Audit privacy risksvalidate_privacy_compliance() - Review privacy
settingsload_roster() - Load a roster for matchingdetect_unmatched_names() - Identify speakers requiring
reviewmatch_names_workflow() - Apply the supported exact
matching workflowwrite_unresolved() - Write a privacy-supporting
unresolved-name review fileplot_users() - Plot user engagementwrite_metrics() - Export metricsUsers remain responsible for reviewing inputs, free text, outputs, sharing decisions, and institutional requirements.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.