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.
Comprehensive R toolkit for reading, analyzing, and visualizing Anki flashcard collection databases. 135 functions for collection analysis. For FSRS algorithm implementation, see r-fsrs.
# From r-universe (recommended)
install.packages("ankiR", repos = "https://cran.r-universe.dev")
# From GitHub
remotes::install_github("chrislongros/ankiR")
# Arch Linux (AUR)
# yay -S r-ankirlibrary(ankiR)
# One-liner overview
anki_quick_summary()
#> Anki: 5847 cards (4521 mature, 892 young, 434 new) | Due: 127 | Streak: 47 days | Retention: 91.2%
# Detailed report
anki_report()
# Collection health check (0-100 score)
anki_health_check()| Function | Description |
|---|---|
anki_quick_summary() |
One-line collection overview |
anki_report() |
Comprehensive statistics |
anki_health_check() |
Collection health score (0-100) |
anki_cards() |
Read all cards |
anki_notes() |
Read all notes |
anki_revlog() |
Read review history |
anki_retention_rate() |
Calculate retention |
anki_streak() |
Current study streak |
anki_plot_heatmap() |
Review calendar heatmap |
anki_plot_retention() |
Retention over time |
Advanced users: See full function list below for forecasting, burnout detection, A/B testing, gamification, and more.
anki_learning_efficiency() # ROI: retention per time spent
anki_retention_by_type() # Retention by card type (cloze, basic, media)
anki_roi_analysis() # Knowledge half-life extension per study minute# Fit your personal forgetting curve and compare to FSRS defaults
curve <- anki_fit_forgetting_curve()
anki_plot_forgetting_curve(curve)anki_best_review_times() # Find when you learn best
anki_session_analysis() # Analyze study session patterns
anki_simulate_session(30) # Simulate a 30-minute sessionanki_sibling_analysis() # How do sibling cards affect each other?
anki_interference_analysis() # Find cards you confuse with each other
anki_weak_areas() # Tags/decks with lowest retentionanki_card_recommendations() # Leeches to rewrite, cards to unsuspend
anki_health_check() # Comprehensive health score (0-100)
anki_summary() # One-liner stats
anki_today() # Today's activity breakdownanki_exam_readiness("2024-06-15") # Will you be ready for your exam?
anki_coverage_analysis() # % complete by topic
anki_study_priorities() # What to study first
anki_study_plan("2024-06-15", hours_per_day = 2)fsrs_compare_parameters() # Compare your FSRS params to defaults
fsrs_memory_states() # Current memory state for all cards
fsrs_decay_distribution() # FSRS-6 per-card decay analysisanki_to_obsidian_sr() # Obsidian Spaced Repetition plugin
anki_to_mochi() # Mochi Cards JSON
anki_to_json() # Full collection as JSON
anki_progress_report("html") # Shareable progress report# Advanced search operators
anki_search_enhanced("added:7 rated:3:1") # Added in 7 days, rated Again in 3 days
anki_search_enhanced("prop:lapses>5 is:leech") # High-lapse leeches
anki_search_enhanced("re:^The\\s+") # Regex search
anki_search_enhanced("deck:German OR deck:Spanish")
# Find similar cards with TF-IDF
anki_find_similar(1234567890, method = "tfidf")# Monte Carlo forecasting (recommended for irregular study habits)
mc <- anki_forecast_monte_carlo(days_ahead = 30, n_sim = 1000)
mc$summary # Daily forecasts with CIs
mc$prob_above(day = 7, threshold = 100) # P(>100 reviews on day 7)
anki_plot_monte_carlo(mc) # Visualize with confidence bands
# Statistical forecasting (ARIMA, Holt-Winters, Seasonal)
anki_forecast_enhanced(method = "holt", days_ahead = 30)
# Compare methods
anki_compare_forecasts(days_ahead = 14)
# Scenario-based projections
anki_workload_projection(days = 30)anki_plot_heatmap() # Calendar heatmap
anki_plot_retention() # Retention over time
anki_plot_forecast() # Upcoming workload
anki_plot_difficulty() # FSRS difficulty distribution
anki_plot_intervals() # Interval distribution
anki_plot_hours() # Reviews by hour
anki_plot_weekdays() # Reviews by weekday
anki_plot_forgetting_curve() # Personal forgetting curve
anki_ts_retention(by = "week")
anki_ts_intervals(by = "week")
anki_ts_decompose() # Trend + seasonal + residual
anki_ts_anomalies() # Unusual study days
anki_ts_forecast() # Forecast future reviews
anki_search("deck:Medical tag:cardiology")
anki_search("is:due -is:suspended prop:ivl>30")
anki_leeches() # Problem cards
anki_mature() # Cards with ivl >= 21
anki_due() # Due for reviewankiR reads FSRS data from your Anki collection but does not implement the FSRS algorithm. For algorithm implementation, see fsrs-r-pure.
anki_cards_fsrs() # Get cards with FSRS parameters
fsrs_current_retrievability() # Current memory state from DB
fsrs_forgetting_index() # % below target retention
fsrs_get_parameters() # Read FSRS parameters from collection
fsrs_compare_parameters() # Compare your params to defaults
fsrs_memory_states() # Get memory states for all cards
fsrs_export_reviews() # Export reviews for external optimizer
fsrs_prepare_for_optimizer() # Prepare data for fsrs-r-pureanki_compare_periods() # This month vs last month
anki_compare_decks() # Side-by-side deck stats
anki_benchmark() # Compare to FSRS averagesanki_to_csv("Medical", "medical.csv")
anki_to_org("Medical", "medical.org")
anki_to_markdown("Medical", "medical.md", format = "obsidian")
anki_to_obsidian_sr("Medical", "medical_sr.md")
anki_to_mochi("Medical", "medical.json")
anki_to_json(output = "collection.json")
anki_progress_report(format = "html")anki_dashboard() # Launches Shiny app| Category | Count | Key Functions |
|---|---|---|
| Core | 8 | anki_cards, anki_notes,
anki_decks, anki_revlog |
| Analytics | 12 | anki_report, anki_stats_deck,
anki_stats_daily |
| Efficiency | 3 | anki_learning_efficiency,
anki_retention_by_type, anki_roi_analysis |
| Forgetting | 2 | anki_fit_forgetting_curve,
anki_plot_forgetting_curve |
| Optimal Times | 3 | anki_best_review_times,
anki_session_analysis,
anki_simulate_session |
| Sibling/Interference | 3 | anki_sibling_analysis,
anki_interference_analysis,
anki_weak_areas |
| Recommendations | 4 | anki_card_recommendations,
anki_health_check, anki_summary,
anki_today |
| Academic/Exam | 4 | anki_exam_readiness,
anki_coverage_analysis, anki_study_priorities,
anki_study_plan |
| Plotting | 8 | anki_plot_heatmap, anki_plot_retention,
anki_plot_forecast |
| Time Series | 14 | anki_ts_intervals, anki_ts_decompose,
anki_forecast_enhanced |
| Forecasting | 3 | anki_forecast_monte_carlo,
anki_plot_monte_carlo,
anki_compare_forecasts |
| Burnout/Quality | 2 | anki_burnout_detection,
anki_review_quality |
| Cohort/Velocity | 3 | anki_cohort_analysis,
anki_learning_velocity,
anki_backlog_calculator |
| Gamification | 1 | anki_gamification (XP, levels, achievements) |
| Streak Analytics | 1 | anki_streak_analytics |
| Content Analysis | 1 | anki_card_content |
| A/B Comparison | 2 | anki_ab_comparison,
anki_compare_groups |
| Compare | 5 | anki_compare_decks, anki_compare_periods,
anki_benchmark |
| Search | 9 | anki_search, anki_search_enhanced,
anki_find_similar |
| Quality | 6 | anki_quality_report, anki_similar_cards,
anki_tag_analysis |
| FSRS | 11 | fsrs_get_parameters,
fsrs_compare_parameters,
fsrs_memory_states |
| Media | 5 | anki_media_list, anki_media_unused,
anki_media_missing |
| Export | 12 | anki_to_csv, anki_to_obsidian_sr,
anki_to_mochi, anki_to_json |
| Utilities | 4 | anki_schema_version, anki_quick_summary,
anki_today |
| Dashboard | 1 | anki_dashboard |
| Addon Import | 2 | import_addon_export,
analyze_addon_import |
| Total | 137 |
MIT
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.