关于
This skill generates publication-ready statistical tables in R using packages like gt, kableExtra, or flextable. It creates descriptive statistics, regression outputs, ANOVA tables, correlation matrices, and APA-formatted tables for academic work. Use it when you need to format statistical results for Quarto or R Markdown documents.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/generate-statistical-tables在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
name: generate-statistical-tables description: > Publikationsreife statistische Tabellen mit gt, kableExtra oder flextable generieren. Umfasst deskriptive Statistiken, Regressionsergebnisse, ANOVA-Tabellen, Korrelationsmatrizen und APA-Formatierung. Verwenden, wenn deskriptive Statistiktabellen erstellt, Regressions- oder ANOVA-Ausgaben formatiert, Korrelationsmatrizen aufgebaut, APA-konforme Tabellen fuer akademische Arbeiten produziert oder Tabellen fuer Quarto- und R-Markdown-Dokumente generiert werden sollen. license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: reporting complexity: intermediate language: R tags: r, tables, gt, statistics, publication locale: de source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16
Statistische Tabellen generieren
Publikationsreife statistische Tabellen fuer Berichte und Manuskripte erstellen.
Wann verwenden
- Deskriptive Statistiktabellen erstellen
- Regressions- oder ANOVA-Ausgaben formatieren
- Korrelationsmatrizen aufbauen
- APA-konforme Tabellen fuer akademische Arbeiten produzieren
- Tabellen fuer Quarto/R-Markdown-Dokumente generieren
Eingaben
- Erforderlich: Statistische Analyseergebnisse (Modellobjekte, Zusammenfassungsdaten)
- Erforderlich: Ausgabeformat (HTML, PDF, Word)
- Optional: Stilrichtlinie (APA, zeitschriftenspezifisch)
- Optional: Tabellennummerierungsschema
Vorgehensweise
Schritt 1: Tabellenpaket waehlen
| Paket | Optimal fuer | Formate |
|---|---|---|
gt | HTML, Allzweck | HTML, PDF, Word |
kableExtra | LaTeX/PDF-Dokumente | PDF, HTML |
flextable | Word-Dokumente | Word, PDF, HTML |
gtsummary | Klinische/statistische Zusammenfassungen | Alle via gt/flextable |
Erwartet: Ein Tabellenpaket basierend auf dem Ausgabeformat und Anwendungsfall ausgewaehlt. Das gewaehlte Paket ist installiert und ladbar.
Bei Fehler: Wenn das benoetigte Paket nicht installiert ist, install.packages("gt") (oder das entsprechende Paket) ausfuehren. Fuer gtsummary muessen sowohl gt als auch gtsummary installiert sein.
Schritt 2: Deskriptive Statistiktabelle
library(gt)
descriptives <- data |>
group_by(group) |>
summarise(
n = n(),
M = mean(score, na.rm = TRUE),
SD = sd(score, na.rm = TRUE),
Min = min(score, na.rm = TRUE),
Max = max(score, na.rm = TRUE)
)
gt(descriptives) |>
tab_header(
title = "Table 1",
subtitle = "Descriptive Statistics by Group"
) |>
fmt_number(columns = c(M, SD), decimals = 2) |>
fmt_number(columns = c(Min, Max), decimals = 1) |>
cols_label(
group = "Group",
n = md("*n*"),
M = md("*M*"),
SD = md("*SD*")
)
Erwartet: Ein gt-Tabellenobjekt mit formatierten Mittelwerten, Standardabweichungen und Haeufigkeiten nach Kategorie gruppiert. Spaltenkoepfe verwenden korrekte statistische Notation (kursiv M, SD, n).
Bei Fehler: Wenn group_by() unerwartete Ergebnisse liefert, sicherstellen, dass die Gruppierungsvariable existiert und die erwarteten Stufen hat. Wenn fmt_number() einen Fehler wirft, sicherstellen, dass die Zielspalten numerische Daten enthalten.
Schritt 3: Regressionsergebnis-Tabelle
model <- lm(outcome ~ predictor1 + predictor2 + predictor3, data = data)
library(gtsummary)
tbl_regression(model) |>
bold_p() |>
add_glance_source_note(
include = c(r.squared, adj.r.squared, nobs)
) |>
modify_header(label = "**Predictor**") |>
modify_caption("Table 2: Regression Results")
Erwartet: Eine gtsummary-Regressionstabelle mit fett gedruckten p-Werten, Modellanpassungsstatistiken (R-Quadrat, N) in einer Quellnotiz und einer beschreibenden Ueberschrift.
Bei Fehler: Wenn tbl_regression() fehlschlaegt, sicherstellen, dass die Eingabe ein Modellobjekt ist (z.B. lm, glm). Wenn add_glance_source_note() Fehler wirft, pruefen, ob broom das Modell verarbeiten kann: broom::glance(model).
Schritt 4: Korrelationsmatrix
library(gt)
cor_matrix <- cor(data[, c("var1", "var2", "var3", "var4")],
use = "pairwise.complete.obs")
# Format lower triangle
cor_matrix[upper.tri(cor_matrix)] <- NA
as.data.frame(cor_matrix) |>
tibble::rownames_to_column("Variable") |>
gt() |>
fmt_number(decimals = 2) |>
sub_missing(missing_text = "") |>
tab_header(title = "Table 3", subtitle = "Correlation Matrix")
Erwartet: Eine Korrelationsmatrix mit unterem Dreieck als gt-Tabelle mit ausgeblendetem oberen Dreieck, zwei Dezimalstellen und einer klaren Ueberschrift.
Bei Fehler: Wenn sub_missing() das obere Dreieck nicht ausblendet, ueberpruefen, ob NA-Werte korrekt mit cor_matrix[upper.tri(cor_matrix)] <- NA gesetzt wurden. Wenn Variablen nicht-numerisch sind, wird cor() fehlschlagen; zuerst auf numerische Spalten filtern.
Schritt 5: ANOVA-Tabelle
aov_result <- aov(score ~ group * condition, data = data)
library(gtsummary)
tbl_anova <- broom::tidy(aov_result) |>
gt() |>
fmt_number(columns = c(sumsq, meansq, statistic), decimals = 2) |>
fmt_number(columns = p.value, decimals = 3) |>
cols_label(
term = "Source",
df = md("*df*"),
sumsq = md("*SS*"),
meansq = md("*MS*"),
statistic = md("*F*"),
p.value = md("*p*")
) |>
tab_header(title = "Table 4", subtitle = "ANOVA Results")
Erwartet: Eine formatierte ANOVA-Tabelle mit Quelle, df, SS, MS, F und p-Spalten. Interaktionsterme sind klar beschriftet und p-Werte auf drei Dezimalstellen formatiert.
Bei Fehler: Wenn broom::tidy(aov_result) unerwartete Spalten liefert, sicherstellen, dass das Modell ein aov-Objekt ist. Fuer Typ-III-Quadratsummen car::Anova(model, type = 3) statt Basis-aov() verwenden.
Schritt 6: Tabellen speichern
# Save as HTML
gtsave(my_table, "table1.html")
# Save as Word
gtsave(my_table, "table1.docx")
# Save as PNG image
gtsave(my_table, "table1.png")
# For LaTeX/PDF (kableExtra)
kableExtra::save_kable(kable_table, "table1.pdf")
Erwartet: Tabelle im angegebenen Dateiformat gespeichert (HTML, Word, PNG oder PDF). Die Ausgabedatei oeffnet sich korrekt in der entsprechenden Anwendung.
Bei Fehler: Wenn gtsave() fuer das Word-Format fehlschlaegt, sicherstellen, dass das webshot2-Paket installiert ist. Fuer PDF-Ausgabe ueber kableExtra sicherstellen, dass eine LaTeX-Distribution (TinyTeX oder MiKTeX) installiert ist.
Schritt 7: In Quarto-Dokument einbetten
```{r}
#| label: tbl-descriptives
#| tbl-cap: "Descriptive Statistics by Group"
gt(descriptives) |>
fmt_number(columns = c(M, SD), decimals = 2)
```
See @tbl-descriptives for summary statistics.
Erwartet: Die Tabelle wird inline im Quarto-Dokument mit einem querverweis-faehigen Label (@tbl-*) und einer korrekten Ueberschrift gerendert. Die Tabelle passt sich automatisch an das Ausgabeformat des Dokuments an.
Bei Fehler: Wenn die Tabelle nicht gerendert wird, ueberpruefen, ob das Chunk-Label fuer Quarto-Querverweise mit tbl- beginnt. Wenn die Formatierung in PDF verloren geht, von gt auf kableExtra fuer LaTeX-basierte Ausgabe wechseln.
Validierung
- Tabelle rendert korrekt im Zielformat (HTML, PDF, Word)
- Zahlen sind konsistent formatiert (Dezimalstellen, Ausrichtung)
- Statistische Notation folgt der Stilrichtlinie (kursiv, korrekte Symbole)
- Tabelle hat eine klare Ueberschrift und Nummerierung
- Spaltenkoepfe sind aussagekraeftig
- Anmerkungen/Fussnoten erklaeren Abkuerzungen oder Signifikanzmarker
Haeufige Fehler
- gt in PDF: gt hat eingeschraenkte PDF-Unterstuetzung. kableExtra fuer LaTeX-lastige Dokumente verwenden.
- Rundungsinkonsistenz: Immer
fmt_number()(gt) oderformat()stattround()fuer die Anzeige verwenden - Anzeige fehlender Werte: Mit
sub_missing()in gt oderoptions(knitr.kable.NA = "")konfigurieren - Breite Tabellen in PDF: Tabellen, die die Seitenbreite ueberschreiten, benoetigen
landscape()oder Schriftgroessenreduzierung - APA-Zahlenformatierung: Keine fuehrende Null fuer Werte, die durch 1 begrenzt sind (p-Werte, Korrelationen): ".03" nicht "0.03"
Verwandte Skills
format-apa-report- Tabellen in APA-Manuskriptencreate-quarto-report- Tabellen in Berichte einbettenbuild-parameterized-report- Tabellen, die sich an Parameter anpassen
GitHub 仓库
Frequently asked questions
What is the generate-statistical-tables skill?
generate-statistical-tables is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform generate-statistical-tables-related tasks without extra prompting.
How do I install generate-statistical-tables?
Use the install commands on this page: add generate-statistical-tables to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does generate-statistical-tables belong to?
generate-statistical-tables is in the Meta category, tagged general.
Is generate-statistical-tables free to use?
Yes. generate-statistical-tables is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
相关推荐技能
Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
