oTree实验:运行最后处理组时出现前两组空白冗余列问题求助
排查建议
- 检查最后一个处理组的输出逻辑:看看是不是代码里默认初始化了包含所有处理组列的结构,但仅对当前组的列做了赋值,前两组的列没做条件过滤就被保留了。比如有没有统一创建含三个组列的数据框,却只填充了当前组的内容。
- 核对处理组的分支判断逻辑:确认运行最后一组时,有没有误触发前两组列的生成代码。比如if/else分支是否写反,或是条件判断的边界值出错,导致不该生成的列被创建。
- 检查数据初始化/读取环节:看看最后一组运行时,是不是加载了带前两组列结构的模板数据,而另外两组用的是干净的初始数据集。比如有没有全局变量在之前的运行中残留了列结构,最后一组运行时未重置。
- 打印中间变量调试:在生成输出数据的关键步骤前,打印当前处理组标识和要生成的列名列表,确认最后一组的列名列表是否被错误追加了前两组的列。
- 检查输出保存代码:确认最后一组的保存逻辑里,是不是不小心合并了空的前两组数据列,而另外两组的保存逻辑仅保留自身列。比如用
cbind类函数时,是否传入了空数据框。
内容的提问来源于stack exchange,提问作者Anwesha Bandyopadhyay
相关产品推荐
相关产品推荐

