Category

oTree 入门系列

oTree 常见报错合集:TemplateDoesNotExist、KeyError、NoReverseMatch

oTree 常见报错合集:TemplateDoesNotExist、KeyError、NoReverseMatch

学 oTree 的时候,报错不可怕,可怕的是不知道从哪里查。很多错误其实都来自几个固定原因:文件名不匹配、变量没定义、页面顺序不对、模板里写错变量名。这篇按常见报错整理,适合出错时快速对照。---## 一、TemplateDo

Read More
oTree 实验上线前测试清单:从本地预演到正式运行

oTree 实验上线前测试清单:从本地预演到正式运行

oTree 实验能在本地跑起来,不代表可以马上上线收数据。正式实验前最重要的工作是测试:把参与者可能走到的路径都走一遍,把数据导出来看一遍,把异常情况提前想一遍。这篇是一份实用清单,可以在每次上线前照着检查。---## 一、基

Read More
oTree 数据导出与清洗:从后台 CSV 到 R、Python 和 Stata

oTree 数据导出与清洗:从后台 CSV 到 R、Python 和 Stata

实验写完只是第一步,真正做研究还要把数据导出来分析。很多 oTree 初学者在这里会遇到两个问题:导出的列太多,不知道哪些能用;或者关键变量没有导出,回头才发现代码里没有存字段。---## 一、先理解 oTree 导出的数据o

Read More
oTree 多轮实验设计:round_number、in_rounds 和跨轮数据读取

oTree 多轮实验设计:round_number、in_rounds 和跨轮数据读取

很多经济学实验不是只做一次决策,而是重复很多轮。比如重复囚徒困境、公共品博弈、拍卖、风险选择任务。oTree 对多轮实验支持很好,但初学者容易混淆“当前轮”和“历史轮”。---## 一、NUM_ROUNDS 决定轮数轮数在 `

Read More
oTree 随机分组与 Treatment 设计:实验组、对照组和角色分配

oTree 随机分组与 Treatment 设计:实验组、对照组和角色分配

经济学实验里经常需要随机:随机分组、随机角色、随机进入实验组或对照组。oTree 可以做这些事,但最好一开始就想清楚:随机发生在 session 层、group 层,还是 player 层。---## 一、先区分三种随机常见随

Read More
oTree 页面流程控制:is_displayed、before_next_page 和 WaitPage

oTree 页面流程控制:is_displayed、before_next_page 和 WaitPage

写 oTree 实验时,最容易卡住的地方之一是页面流程:为什么某个页面没有出现?为什么参与者被卡在等待页?为什么下一页拿不到刚刚填写的数据?这篇只讲三个最常用的工具:`is_displayed`、`before_next_page`

Read More
oTree 项目结构完全指南:每个文件到底负责什么

oTree 项目结构完全指南:每个文件到底负责什么

很多同学安装好 oTree 之后,第一反应不是“我要怎么写实验”,而是“这些文件到底谁管谁”。如果项目结构没看懂,后面写 `Page`、`WaitPage`、表单、分组、数据导出时都会很容易迷路。这篇先不讲复杂实验逻辑,只讲一个 oT

Read More
oTree 新写法(New Format)一文看懂:从老格式到单文件、静态方法的过渡

oTree 新写法(New Format)一文看懂:从老格式到单文件、静态方法的过渡

我前阵子把一个老项目从 oTree 旧格式迁到“新写法”,一路踩坑,也把官方文档 [https://www.otree.org/newformat.html](https://www.otree.org/newformat.html) 翻

Read More
如何安装 oTree

如何安装 oTree

教程这里开始,文字教程稍后提供~Youtube 版本,哪个方便用哪个

Read More
otree入门常见问题

otree入门常见问题

学弟/学妹,别慌!刚接触oTree的时候,大家问的问题都差不多。我把你这些问题,用咱们学生之间聊天的方式,整理了一下。这感觉就像你在宿舍楼下,碰到了一个刚做完实验的学长,他告诉你的一些“血泪经验”。----**1. 救命!oTre

Read More