SkillAgentSearch skills...

PsychPen

AI加持的在线统计分析和数据可视化工具 / AI-powered web-based statistic and data visualization tool.

Install / Use

/learn @LeafYeeXYZ/PsychPen

README

  • [ ] TODO: webr v0.5.7+vite 存在兼容性问题, 暂时回退到 v0.5.6, 等待 webr 修复后再升级

PsychPen

AI加持的在线统计分析和数据可视化软件, 立即体验: https://psychpen.leafyee.xyz

| | | | | :---------------------: | :---------------------: | :---------------------: | | | | | | | | |

文档更新可能滞后于软件版本更新, 请以软件实际功能为准

引用信息

如果你在学术论文中使用了 PsychPen, 请引用以下信息 (APA格式) (请注意年份和版本号区别)

  • v2.0.0-最新版本: 叶一杉. (2025). PsychPen: AI加持的在线统计分析和数据可视化工具 (v2.x.0) [Computer software]. GitHub. https://github.com/LeafYeeXYZ/PsychPen/tree/v2.x.0
  • v1.9.0: 叶一杉. (2025). PsychPen: 在线统计分析和数据可视化工具 (v1.9.0) [Computer software]. GitHub. https://github.com/LeafYeeXYZ/PsychPen/tree/v1.9.0
  • v1.0.0-v1.8.0: 叶一杉. (2024). PsychPen: 在线统计分析和数据可视化工具 (v1.x.0) [Computer software]. GitHub. https://github.com/LeafYeeXYZ/PsychPen/tree/v1.x.0

目录

PsychPen 使用文档

1 项目简介

PsychPen 是一个AI加持的在线统计分析和数据可视化软件. 相比于传统的心理学统计软件, PsychPen 具有以下优势:

  • 无需下载安装: PsychPen 直接在浏览器中运行, 支持电脑、平板、手机等多种设备
  • 跨平台: 可以在 Windows、macOS、Linux、iPadOS、iOS、HarmonyOS 等多种系统中运行
  • 初学者友好: PsychPen 交互设计优良, 操作简单, 文档齐全
  • 与AI深度集成: PsychPen 具有内置的、与各个模块深度集成的 AI 辅助功能, 让使用者能通过自然语言完成统计处理和分析
  • 功能丰富: 具有统计分布动态抽样演示、统计量与P值转换、交互式3D图表、词云图等独特功能
  • 开源免费: PsychPen 是开源项目, 你可以在遵守开源协议的前提下自由使用、修改、分发, 也欢迎你参与到项目的开发中

PsychPen 有 数据变量绘图统计工具 五大主要功能模块, 以及 AI辅助分析R语言运行器 (基于 WebAssemblywebR 项目) 两大独立辅助模块, 本文档将分别介绍它们的使用方法

2 数据视图

数据视图包含数据导入导出功能和一些软件设置

2.1 数据导入

进入 PsychPen 主页, 通过点击 点击导入数据 按钮, 选择你的数据文件 (支持 .csv, .xlsx, .dta, .parquet, .sav, .json, .numbers 等格式) 即可导入数据. 导入成功后, 你可以在数据视图中看到你的数据表格

| 导入前 | 导入后 | | :--------------------: | :--------------------: | | | |

2.2 数据预览/导出/删除

导入数据后, 你可以在数据视图中查看数据表格. 点击表头可以对数据进行排序; 按住并拖动表头的竖线可以调整列宽; 按住并拖动表头单元格可以调整列的顺序. 如果在变量视图定义了数据筛选规则, 还可以点击上方漏斗图标查看当前生效的数据筛选表达式

点击左上角 导出数据 按钮, 在弹窗中输入文件名 (也可以留空) 并选择你要导出的数据格式 (支持 .csv, .xlsx, .numbers, .json), 点击 确定 即可导出数据

导出的数据是经过 定义缺失值缺失值插值生成标准化/中心化/离散化子变量数据筛选 等处理后的数据, 即在数据视图实际显示的数据

点击左上角 删除数据 按钮, 在确认框中确认删除即可删除当前的数据表格. 删除数据的操作仅将数据从 PsychPen 内部移除, 不会影响到数据的原始文件. 删除后, 你可以重新导入数据 (注: 网页刷新不会使数据丢失, 必须先删除原数据才能导入新数据)

2.4 AI辅助分析设置

PsychPen 创新性地引入了 AI 辅助分析功能, 可以让 AI 助手基于你的数据和需求, 针对性地给出建议或直接替你操作 PsychPen 完成变量处理、统计分析和图表绘制

PsychPen 支持所有实现了 function calling 并兼容 OpenAI API 规范的大语言模型 (如 DeepSeek-V3GPT-4oQwen-max), 你只需根据你所用的 AI 模型提供商的使用文档, 在右上角的 AI辅助分析设置 中点击 开启AI辅助分析 按钮, 并填写 baseUrlapiKeymodelId 等参数, 之后点击 确认 按钮, 即可点击页面右上角的 Ask AI 按钮, 与 AI 助手进行交互

2.5 AI助手使用示例

在根据2.4 AI辅助分析设置 设置好 AI 辅助分析后, 你可以点击右上角的 Ask AI 按钮, 与 AI 助手进行交互. 你可以询问它 PsychPen 的使用方法、对你的数据的见解、统计分析的建议等, 也可以直接指示它帮你操作 PsychPen 完成数据导出、变量处理、统计分析、图表绘制等操作

注: 以下所有示例操作如果使用性能更强/弱的AI模型, 可能会得到更好/差的效果

2.5.1 让AI助手操作数据导出

以下示例使用 qwen-plus-latest (2025.01.17 更新版本) 模型

2.5.2 让AI助手操作变量标准化

以下示例使用 qwen-plus-latest (2025.01.17 更新版本) 模型

2.5.3 让AI助手操作计算变量

以下示例使用 deepseek-chat (deepseek-v3-0324 版本) 模型

2.5.4 让AI助手操作数据筛选

以下示例使用 qwen-plus-latest (2025.01.17 更新版本) 模型

2.5.5 询问AI助手数据分析建议

以下示例使用 qwen-plus-latest (2025.01.17 更新版本) 模型

| | | | :---------------------: | :---------------------: |

2.5.6 让AI助手介绍PsychPen

以下示例使用 qwen-plus-latest (2025.01.17 更新版本) 模型

2.5.7 让AI助手解释统计结果

以下示例使用 deepseek-chat (deepseek-v3-0324 版本) 模型

| | | | :---------------------: | :---------------------: |

3 变量视图

变量视图包含了一系列变量处理相关的功能

注: 变量处理的内部顺序是: 定义缺失值 -> 缺失值插值 -> 标准化/中心化/离散化 -> 描述统计 -> 数据筛选 -> 计算变量; 变量视图所展示的信息、生成新变量所用统计量为数据筛选的信息, 数据视图、统计视图、绘图视图所用的是数据筛选的数据

3.1 变量预览

在变量表格中, 你可以查看你导入的数据表格中的变量信息. 包括变量名、类型 (决定了能否用该变量进行一些数学运算)、缺失值情况、描述统计信息 (如均值、标准差、最大值、最小值) 等

注: PsychPen 延用 PsychLib 的计算众数的方式: 如果有多个众数, 则显示皮尔逊经验公式计算的众数 (中位数 x 3 - 均值 x 2)

3.2 定义缺失值

通常, 在研究数据中不会直接将缺失值留空, 而是将缺失值标注为特定的值, 以便于后续的数据处理 (例如用 -1-9999 等值表示缺失值). 在变量视图中, 你可以点击 定义缺失值 按钮, 在此页面定义这些缺失值, 以便将它们删除或插值

定义缺失值 页面, 你可以选择变量 (可多选或直接选择 全部变量), 输入缺失值的值 (如果要取消定义缺失值, 可以将输入框留空), 点击 确认 按钮即可定义缺失值. 设置缺失值后, 你可以在 变量表格 中看到定义的缺失值的情况

3.3 缺失值插值

研究中可能会因为各种原因导致数据缺失, 如果样本量较大, 直接删除缺失值是一个不错的选择; 但当实验样本比较珍贵, 或直接删除缺失值会带来误差时, 研究者往往会选择合适的插值法来将缺失值替换为有效值. 在变量视图中, 你可以点击 缺失值插值 按钮, 在此页面选择合适的插值方法, 以便将缺失值替换为有效值

缺失值插值 页面, 你可以选择变量 (可多选), 选择插值方法 (均值、中位数、最临近点插值、拉格朗日插值), 如果使用了后两种插值方法, 还需要选择插值参考的变量. 选择好插值方法后, 点击 确认 按钮即可进行插值. 插值处理后, 你可以在 变量表格 中看到插值的设置情况

3.4 中心化/标准化/离散化

在数据分析中, 有时需要对原始数据进行处理. 标准化是指把 x 转换为 (x - μ) / σ, 从而让数据的均值为 0, 方差为 1; 中心化是指把 x 转换为 x - μ, 从而让数据的均值为 0, 方差不变; 两种处理均不会改变数据的分布形状. 离散化是指把连续变量通过某种规则转换为离散变量, 以便于分组分析

在变量视图中, 你可以点击 中心化/标准化化/离散化 按钮, 在此页面选择变量 (可多选), 并选择一个或多个子变量; 如果选择了离散化, 你还需要选择离散化的方法 (等宽、等频、聚类分析 k-means) 和离散化的区间数. 生成子变量后, 你可以在 变量表格数据 视图中看到生成的子变量

注: 生成的子变量名为 xxx_标准化xxx_中心化xxx_等宽离散xxx_等频离散xxx_聚类分析离散, 其中 xxx 为原变量名

3.5 数据筛选

数据筛选可以让你根据自己的需求, 选择性地使用满足过滤规则的数据来进行统计分析和数据可视化. 在变量视图中, 你可以点击 数据筛选 按钮, 在此页面输入过滤表达式 (见 3.7 表达式语法), 点击 确认 按钮即可生成新数据. 生成后, 你可以在 数据视图 中看到过滤后的数据 (而变量视图中的变量描述统计信息仍是过滤前数据的信息)

注意: 如果筛选所用的表达式中的任意变量为缺失值, 则该行数据会被自动过滤; 如果需要保留该行数据, 请提前进行缺失值插值

3.6 生成新变量

在心理学和教育学研究中, 通常需要对原始数据进行一些计算, 以得到最终用于分析的变量. 在变量视图中, 你可以点击 生成新变量 按钮, 在此页面输入计算表达式 (见 3.7 表达式语法) 和新变量名, 点击 计算 按钮并确认即可生成新变量. 生成后, 你可以在 变量表格数据视图 中看到生成的新变量

3.7 表达式语法

在计算变量和数据筛选中, 你可以使用 PsychPen 内置的表达式语法来生成新变量或进行筛选数据. 表达式中, 你可以使用 :::变量名::: 来引用其他变量的值, 并通过 + - * / 等运算符进行计算、通过 > < >= <= 等运算符进行判断. 下面是一些常见的表达式语法示例:

  • 计算变量中, 给数个题目的分数求均值: ( :::题目1::: + :::题目2::: + :::题目3::: + :::题目4::: + :::题目5::: ) / 5
  • 计算变量中, 处理反向计分的题目: ( :::题目1::: + ( 6 - :::题目2::: ) + :::题目3::: + ( 6 - :::题目4::: ) + :::题目5::: ) / 5
  • 计算变量中, 计算开方、平方、绝对值: ( :::题目1::: ** 2 ) + ( Math.sqrt( :::题目2::: ) ) + ( Math.abs( :::题目3::: - :::题目4::: ) )
  • 计算变量中, 手动进行变量标准化: ( :::题目1::: - mean(:::题目1:::) ) / std(:::题目1:::) (仅为演示, 实际使用时推荐直接使用标准化/中心化/离散化功能)
  • 计算变量中, 将高/低分数标记为 / : :::分数::: >= mean(:::分数:::) ? '高' : '低'
  • 数据筛选中, 筛选出变量 a 大于变量 b 的数据: :::a::: > :::b:::
  • 数据筛选中, 筛选出变量 a 大于均值的数据: :::a::: > mean(:::a:::)
  • 数据筛选中, 筛选出变量 a 大于均值且小于中位数的数据: ( :::a::: > mean(:::a:::) ) && ( :::a::: < q2(:::a:::) )

实际上, PsychPen 的表达式语法在将变量替换为其数值后, 就是一个 JavaScript 表达式, 所以你可以使用 JavaScript 的数学函数和逻辑运算符来进行计算和判断

3.7.1 变量相关语法

| 符号 | 含义 | | :------------------: | :---------------------------------

Related Skills

View on GitHub
GitHub Stars38
CategoryEducation
Updated15d ago
Forks10

Languages

TypeScript

Security Score

95/100

Audited on Mar 24, 2026

No findings