Chapter 2 数据准备
2.1 数据规范
按照规定的标准准备数据,才能被统计软件正确识别并进行下一步的统计分析。此处介绍通用的研究数据格式,除此之外,有一些统计分析需要特殊的数据格式,将在每个统计模块中单独介绍。
首先务必按照下面的格式准备数据(网站上可下载,下载后在此基础上修改):
打开如下图:
本样例数据的规则:
一个患者一行(通用数据一般一个患者一行,有些特殊分析如混合效应模型需要一个患者多行数据,将在每个具体统计模块单独的教程中介绍如何准备数据)。
每个患者可以准备几类数据,1)一般人口学特征或临床特征变量 2)干预变量(如治疗分组) 3)结局变量(如OS、是否客观缓解 等)。
如图所示,Hospital, Age, Sex, Obstruct, Prfor, Adhear, Differ, Extent 为一般变量(常用于基线特征或影响因素等自变量);
Treatment 在本例中是治疗分组变量;
而Objective Response, Blood test, Effect, OS_status, OS_time, occurrence在本例中是结局变量。
变量属性有两种,连续性变量(值是连续数据,它可以在变量值所属区间内任意进行取值,如年龄[岁]、血糖值、人的身高、智商等)以及分类变量(是说明事物类别的一个名称,其取值是分类数据。如”性别”就是一个分类变量,其变量值为”男”或”女”;“行业”也是一个分类变量,其变量值可以为”零售业”、“旅游业”、“汽车制造 业”等),在本例中 age是连续性变量(numeric), 其他的是分类变量(factor)。age单位为”岁”时为连续变量,而age_group 分组为<18, 18-60, ≥60 为年龄段分组,这时候为分类变量。
以上概念很重要,后面有一个页面专门设置连续变量和分类变量。
结局变量在本工具中分为几类:
- 连续型结局变量
如本例中的 Blood_test(某血液检测指标)
- 二分类结局变量
如本例中的 Objective Response (是否客观缓解),可以取值为 Yes 和 No 两个值, 用以统计客观缓解率(ORR),同理,可以自行增加 Disease Control、是否病理缓解等其他二分类指标,如本例中的 自定义的临床结局 Effect(自评感受)也是一个二分类变量(Good,Bad)。
- 生存型结局变量
需要用两个变量组合来表示,如本例中的 OS_status 和 OS_time。
status 代表患者在研究结束时的状态,建议取 0 和 1 两个数字。0 代表没观察到事件发生(如没死或者失访),1 代表观察到了事件发生(如已经死亡且录入了死亡日期)。当然不用 0 和 1,用其他数字或文本也没有问题。
time 代表从开始日期(开始日期的定义由你的研究目的决定,如随机对照研究往往取随机化入组的那一天为开始日期,而观察性研究可以取首次诊断日期或首次治疗日期等等根据研究目的而定)到结局日期的时间差。当 status=1 时,结局日期为发生事件(如死亡)的日期,当 status=0 时,结局日期为最后一次活着的日期(如研究结束日,或随后一次随访日)。
总之,time是一个数值型变量,您需要填入患者从开始到发生事件(例如死亡)或者随后一次随访时,一共活着的天数。如 time 为56,status为 1 时代表患者从开始到死亡活了 56 天;当 time 为56,status为 0 时代表患者没观察到死亡,从开始到最后一次随访,活了56天。
准备数据时,time 填入一个非负的整数,status 填入 0 或 1,time和status都不能为空,每个患者都必须填入数字。time 或 status 不确定(缺失)时且未填充缺失值时,该患者在分析时会被排除在分析集外。
- 计数型结局变量
计数型的结局变量为一个非负的整数,如本例中 occurrence,是急性发作次数,无法取负数,也不可能取小数。
- 分数型结局变量
当结局变量为一个分数,如发病率、患病率等,结局包含一个分子和一个分母。如要研究全国各地疾病患病率的影响因素时,按照每个地区一行来准备数据,分子和分母设置成两个变量(列),如分子为患病人数,分母为地区人口数。
准备数据的规则是:分子和分母都是非负整数,不允许填入负数,也不允许填入小数,分子的数值不能大于分母。
最重要的一点 ,需要注意的是,在本软件中,无需用 0, 1 等数字 来代表是、否,或者代表研究组和对照组,无需用1, 2 等数字来代表男性、女性;无需用 1,2,3,4 等数字来代表职业等;
请填写原始文本,例如 Male、Female ,或者”试验组”,“对照组” 等文本,直接准备数据即可;
使用原始文本,做出的统计图和统计表可以直接发表,而数字 1,2,3 等分析出来图表,还要手工修改,非常麻烦;
另外,在用人工智能自动撰写论文的时候,1,2,3 等数字也是人工智能理解不了的,会影响生成论文的可读性;
如果您的数据里面全是 1,2,3 等数字,可以在导入数据模块里面的数据重编码模块中批量替换为原始文本。
2.2 数据导入
2.2.1 快速检查清单
- 文件大小:基础版不超过 1 MB;VIP 版不超过 20 MB。
- 支持的数据文件格式包括 CSV、xlsx、RDS等:
- 推荐格式:CSV(UTF-8);再次导入更推荐使用在软件内生成的 RDS 文件。
- 缺失值:建议留空;如果原文件用 NA、圆点等字符占位,请先另存为 CSV(UTF-8)再导入。
- 中文内容:包含中文时,务必保存为 CSV(UTF-8),以避免乱码。
- 表格规范:首行是表头;不要使用合并单元格;含有公式的单元格请粘贴为数值。
2.2.2 导入您的科研数据
点击顶部菜单栏的“数据准备”菜单,点击“导入数据”选项卡;
在页面的 “数据源选择” 中点击 「导入您自己的科研数据集」。
2.2.3 上传与导入的注意事项
2.2.3.1 文件格式与编码
首次导入强烈建议使用 CSV(UTF-8)。
包含中文内容时,务必保存为 CSV(UTF-8)。
若出现导入异常或乱码,优先用 Windows 自带的记事本软件将文件另存为 CSV(UTF-8)后再尝试。
2.3 定义字段
这一部分帮助你在导入数据后,完成变量筛选、变量改名、与变量属性设置(numeric/factor),确保后续统计分析按预期运行。
关键提醒:本页的设置会直接影响后续模型与图表的结果。请务必在完成设置后点击底部 “应用更改”,直到按钮变绿,再进入下一步。
2.3.3 变量改名(显示名)
在变量名称栏直接修改成你希望在统计表中展示的名称,例:
age
改为Age (years)
。支持中文命名;
不要使用英文冒号
:
(系统会将冒号替换为点.
以避免报错)。
2.3.4 设置变量属性(核心)
连续性变量 → 设为
numeric
(或integer
)。分类变量 → 设为
factor
。特别注意:数值编码代表类别的列(如 1/2/3/4 实际表示“工人/农民/知识分子/干部”)必须手动改为
factor
。系统会将字符型变量默认识别为
factor
;如果该列本应是连续数值,请手动改回numeric
。
科普知识:
连续性变量(continuous / numeric):取值在区间内可任意变化的数值型变量,例如年龄、BMI、血糖、测量时间、生存天数等。常用的描述为均值±标准差或中位数(四分位数);常见图形为直方图/密度图/箱线图。在推断上,常配合 t 检验/ANOVA/相关分析;在回归模型(线性、Logistic、Cox 等)中,系数解释为自变量每增加 1 个单位对结局的影响大小(如 OR/HR/Beta 的变化)。
分类变量(categorical / factor):用于表示类别的变量,包括名义型(如性别、分组)与有序型(如轻/中/重、I–IV 期)。常用的描述为例数(%);常见图形为条形图/堆叠条形图/马赛克图。在推断上,常配合 卡方检验/费舍尔精确检验/趋势检验;在回归模型中需要设定参考组并建立哑变量(dummy variables),系数解释为与参考组相比的效应差异。有序型变量可设为有序因子,便于做趋势性检验。
常见错误:
用 1/2/3 代表类别却按连续数值处理,导致错误统计结论;
一列数值中夹杂 “<0.002”、“未测” 等文本,导致整列被识别为分类,从而影响统计;
数值型变量错误设置为分类变量,导致分类有几百上千类,导致后续统计分析卡死系统导致错误结论。
实操建议:
对“数字编码但含义为类别”的变量,请改为文本并设为 factor(如 1/2→Male/Female)。
有序分类变量建议设置为’factor’,但还需要在后面的“因子排序”页面将分类按照从小到大的顺序排列。
一列数值中夹杂 “<0.002”、“未测” 等文本,有一些约定成俗的数据清洗方法,例如”未测”删掉变成缺失数据处理。“<0.002” 这样的文本改为数值 0.001 (最小可测数值除以二)处理。
2.3.6 查看“概览”核对结果
切换至 “原始数据概览” 与 “修改后数据概览” 两个页签进行对比核对:
变量类型(numeric / factor)是否按预期;
新的变量展示名称是否已生效;
分类变量的水平数量是否合理;
样本量是否无意变化。
2.3.7 常见提醒
2.3.7.4 常见问题与快速处理
分类变量显示成数字:将该列类型改为
factor
;必要时在后续表格或图表中再添加分组标签说明。连续变量被当成分类:xlsx文件中,如果错误地将一列数字定义成了文本,则此处可能 识别为
factor
,这将引发后续统计的重大错误,可将该列类型改为numeric
。但是需要十分注意的是,有些数据集,尤其是实验室检查的指标,几乎是一整列的数字,但是中间混杂了几个文本,例如”不可测”, “<0.002”,“未知” 这样的文本,属于数据清洗的重大问题,这样的数据会造成统计软件将这一列作为文本处理,识别为分类变量,将引发重大错误(数据问题大部分是因为这个原因引起),如果将这样的数据强行定义成 “numeric” 会引发乱码,造成统计结果错误,务必要仔细核查。点击“应用更改”不变绿:确认至少选择了变量;等待片刻;变量多时应用需要时间。若仍无响应,可减少批量、或刷新后重试(刷新前注意保存其他页面设置)。
“修改后数据概览”和预期不一致:回到列表重新调整类型或名称,再次点击“应用更改”,然后刷新“修改后数据概览”。
2.4 缺失值填补
本页用于在导入与“定义字段”之后,对数据中的缺失值(NA)进行合理处理。你可以选择普通填充(按统计量或规则)或模型填充(KNN、随机森林),并对填补前后数据进行对比与导出。
提醒:缺失率超过 40% 的变量,一般不建议填补并用于后续分析;若确需分析,建议在建模阶段采用多重填补(MI)并做敏感性分析。本页不执行 MI。
2.4.1 何时填补、何时跳过
建议跳过:变量缺失率 > 40%;标识性文本(姓名、住址、自由文本病史等);与研究结局无关的辅助字段。
建议填补:关键协变量或结局伴随少量/中等缺失;面板/纵向数据中少量间断缺失。
多重填补(MI)放在建模阶段:若计划发表或做严格推断,建议到“传统单因素多因素分析”模块使用多重填补(MI)。
2.4.3 选择填充类型
在左侧设置区选择:
普通填充:仅对你选中的变量进行填补;适合定点、可控、可追溯的填补。
模型填充:对整个数据集参与建模填补(数据量大时较慢)。建议先在前一步屏蔽与分析无关的长文本变量以免拖慢速度或导致失败。
2.4.5 模型填充(KNN / 随机森林)
方法选择:KNN 填充法 或 随机森林填充法。
参数:KNN 的 k 默认 10;若报错或过慢,可适当减小 k。
范围:模型填补默认让全体变量参与以互相“借力”预测缺失;与分析无关的冗余/文本变量会拖慢速度,建议在前一步剔除或屏蔽。
适用场景:变量之间相关性较强、缺失率中低、希望利用多变量信息进行更“智能”的推测。
2.4.6 填补位置(是否覆盖原变量)
- 选择 “原变量上填充” 或 “新生成变量填充”。
- 若选择新生成变量,请设置后缀(默认
_imputed
),如Age_imputed
。 - 建议:为可追溯性,先用新变量生成,确认无误后再决定是否覆盖原变量。
2.4.8 浏览与导出
- 右侧表格展示 “填补结果如下”。
- 下方切换 “填补前数据概览” 与 “填补后数据概览”,对比变量类型、缺失比例与分布。
- 点击 “下载修改后数据” 导出
.xlsx
文件,用于留存或后续分析。
2.4.9 统计影响小科普
- 缺失机制:
MCAR(完全随机缺失):对估计影响最小;简单填补较可接受。
MAR(依赖已观测值):模型/多重填补更合适。
MNAR(依赖未观测值):任何填补都可能有偏,需在设计与收集环节下功夫,并在报告中讨论局限。
- 方法对结果的影响:
单次填补低估不确定性,标准误偏小,p 值可能过于乐观。
将缺失值设为 Unknown 可保持样本量,但会影响类别分布与回归系数解释。
多重填补(MI)能更好地反映不确定性,建议在建模阶段配合主分析/敏感性分析使用。
2.4.10 常见问题与排查
运行慢/报错:减小 KNN 的 k;在“定义字段”前先去掉与分析无关的长文本列;仅选择需要填补的变量。
仍然显示缺失:检查是否勾选了变量、是否选择了方法并输入必要参数(固定值、后缀等)。
类型异常/乱码:列中混有 “<0.002”、“未测” 等文本会导致整列被当作分类;请先在“定义字段”中规范类型或在数据治理环节清洗。
2.5 连续性变量分组转换
将连续性变量(如年龄、BMI、检测值等)按指定规则分组并转为分类变量,便于做分层展示、列联表、条形图或按组比较。
提醒:分组后的变量适合做展示与分层分析;若要做回归建模,建议同时保留原始连续变量,避免信息损失与阈值偏倚。
在“数据准备”中点击“数据治理修改筛选”,在打开的导航栏中点击 “连续性变量分组转换” 页面。如暂不分组,直接跳过到下一页即可:
2.5.1 选择变量
在“请下拉选择需要离散化分组的连续性变量”下拉框中选择目标变量。
只能看到数值型(numeric)且唯一值 > 2 的变量;如未出现,请回到“定义字段”将其设为 numeric,或清理夹杂文本的异常记录。
2.5.2 选择分组方法
自定义分组界值(拐点):手工输入阈值,更贴合专业知识或指南阈值。
按照每组人数自动均衡分组(frequency):每组样本量尽量相等,最常见的分组方式。
按照每组取值范围自动均衡分组(interval):每组区间宽度相等,需要界值取整的分组方式。
K-means 聚类分组(cluster):按数据聚类自动找组,适合明显多峰或聚类结构。
2.5.4 固定拐点的设置(仅“自定义分组界值”)
系统根据最小/最大值生成 n−1 个拐点输入框;请在最小值与最大值范围内设置。
选择分割方式:
< 和 ≥
或≤ 和 >
(影响边界点归属)。系统会生成默认组标签(如
< 60
、60 - 80
、≥ 80
),你也可以逐一修改为临床更易读的名称。
2.5.5 等频分组的标签(仅“人数自动均衡分组”)
- 可选择“是否显示上下限范围”:
显示:在标签中附带原始区间(如
Q1 [3.2–5.8]
)。不显示:仅显示前缀(
L/M/H
、Q1–Q4
、G1–Gn
等)。
- 系统会根据组数自动选择前缀:2 组→
L/H
;3 组→L/M/H
;4 组→Q1–Q4
;5 组→P20–P100
;其他→G1–Gn
。
2.5.8 查看结果与下载
原数据:左侧为直方图,右侧为该变量的统计概览(均值±SD、中位数(四分位)、最小/最大)。
分组后数据:左侧直方图叠加红色分割线;右侧为分组频数表与横向条形图(高度会随组数动态调整,含 Missing)。
底部页签可切换 “分组前/分组后数据库概览”,对比变量类型与缺失概况。
点击 “点此下载分组后数据” 导出
discretized_data.xlsx
。
2.5.9 质量核对清单(强烈建议)
边界归属是否符合预期(
< 和 ≥
或≤ 和 >
)。标签顺序与命名是否清晰、一致且便于排版。
每组样本量是否过小(极小单元会导致回归不稳定或无法估计)。
Missing 比例是否合理,并在报告中明确说明处理方式。
与原变量分布是否一致(分组线是否卡在峰谷处,是否反映临床阈值)。
2.5.10 统计小科普
为何在临床研究中进行离散化? 很多分析与汇报需要按人群分层给出结果(如不同年龄段、不同指标水平的事件率),并据此制定纳排标准、干预阈值与随访策略。把连续指标分成若干临床有意义的等级(如正常/边界/异常、高危/低危)能直接形成可操作的风险层级,更贴近日常诊疗与指南表述。
回归系数的临床可读性:连续变量直接入模时,系数表示“每增加 1 个单位风险变化多少”,解释受量纲影响(mmHg、mg/dL、U/L 等),临床直观性弱。离散化为分类变量后,回归结果可用“相对参考组的 OR/HR/β”呈现,直接表达某一人群层级的风险差异,更具临床价值。
与指南阈值对齐:许多疾病存在公认临界值或风险分层标准(如血压 120/130/140、HbA1c 6.5%、肿瘤标志物截点)。按阈值分组可与诊断/分期/治疗指征保持一致,便于与既有证据体系衔接与对照。
结果呈现与沟通:分组后可直观汇报各组事件率、死亡率、缓解率等,便于制作临床表格/图形、进行亚组分析,也更便于向患者与 MDT 沟通(还可进一步计算 NNT/NNH 等临床指标)。
平衡:可解释性 vs 信息量:离散化提升可解释性,但会损失数值信息并可能引入阈值偏倚。推荐做法:
展示与沟通:使用分组后的分类变量;
建模与推断:尽量保留原始连续变量或采用样条/分段回归刻画非线性,并将分组结果作为敏感性分析,兼顾效能与临床解读。
标签与区间:科研与复现建议显示具体区间;面对患者或科普材料可用精简标签(如 L/M/H、Q1–Q4),在简洁与严谨之间按场景取舍。
2.6 数据标签批量替换
将分类变量中难以理解或不便发表的取值(如 0/1、1/2/3/4)批量替换为清晰的文本标签(如 男/女、工人/农民/知识分子/干部),让表格与图形开箱即用、可直接发表,同时更便于后续用人工智能撰写摘要/正文。
建议:不要用 0、1、2、3 这类无语义编号代表“是/否”“男/女”“职业”等;请统一替换成有含义的文本。
2.6.1 何时使用 / 何时跳过
- 适合使用:
变量的唯一取值个数 ≤ 20(本页仅对不超过 20 个水平的变量提供批量替换)。
需要把数字编码改回有意义的文本;或需要统一大小写/用词(如 yes/Yes/YES → Yes)。
- 建议跳过:
连续性数值或取值过多(>20)的变量(应先去“连续性变量分组转换”或在“定义字段”中处理)。
自由文本列(姓名、住址、病史长文本等)——不宜参与统计,也不建议在此替换。
2.6.3 批量编辑标签
下方会自动出现该变量的所有当前取值及对应的可编辑输入框。
逐项将原值编辑为你希望呈现的目标标签(如 0→否、1→是;1→男、2→女;1→工人、2→农民…)。
建议保持简短、统一:同一语种、统一大小写、避免前后空格与多余标点。
2.6.4 选择修改方式
“原变量基础上修改”:直接在原列上替换(覆盖式)。
“新生成的变量上修改”(默认):在原列旁新建一个变量并写入新标签,默认命名为
原变量名_f
,你也可自定义新名称。建议先用新变量确保结果正确,再考虑是否保留或覆盖原变量。
2.6.6 浏览与下载
右侧主面板始终展示当前数据表(已含你的替换结果)。
页面下方可切换 “原数据概览” 与 “重编码后数据概览”,对比变量水平、缺失情况与分布。
点击 “下载修改后数据” 导出 Excel(文件名形如
recode_data-YYYY-MM-DD.xlsx
)。
2.6.7 质量核对清单(强烈建议)
标签唯一明确:避免两个不同的原值被替换成完全相同的目标标签,造成不可逆的合并。
无意外空格:避免前后空格、全/半角混用(” 男”、“男”);必要时统一清洗。
语义一致:是/否、阴性/阳性、阳性/阴性,不要混用;中英文混排尽量统一。
缺失值处理:本页会将常见缺失写法(NA、#N/A、“.” 等)自动统一为真正的缺失 NA;若需把缺失当作单独水平,请在“缺失值填补”页使用“Unknown”策略或在此页手动设定标签。
水平数量合理:分类水平过多将影响表格展示与模型稳定性,必要时考虑合并或分组。
2.6.8 常见问题与排查
看不到目标变量:该列的非缺失唯一值可能超过 20;请先在上一步分组或清洗后再来替换。
替换后没变化:确认已点击 “保存更改”;若选择“新生成变量”,请查看新列(默认
_f
后缀)。导出文件不含新增列:务必先 “保存更改” 让结果写入数据,再下载。
大小写/语言混乱:在本页一次性统一(如 Yes/No;男/女),保持投稿与 AI 生成文本的可读性。
2.7 生成新变量
在不改动原始数据结构的前提下,基于已有变量进行运算、转换与条件判断,衍生出新的变量(数值、文本或因子)。本模块适用于构建研究所需的中间量与分析变量(如比值、差值、对数转换、字符串清洗等)。
提醒:本页会在右侧“代码”区域同步显示本次操作对应的 R 代码,便于复现与溯源;如需撤销,请使用复位。
2.7.1 何时使用 / 何时跳过
适合使用:需要从现有列计算新列(如指数转换、分段标记、合并文本、类型转换)。
建议跳过:需要复杂数据清洗/合并/拆分且不会编程时,可转到 chatR 模块用自然语言让 AI 帮你完成,再回到此页检查结果。
2.7.2 能做什么(概览)
数值运算:加减乘除、幂与整除、取余等。
逻辑判断:大于/小于/等于/不等于;与、或;条件分支。
数学变换:常见初等函数、累计统计、四舍五入等。
字符串处理:拼接、截取、去空格、查找/替换与匹配。
类型转换:在数值、字符、整数、日期/时间、因子之间转换。
建议:在“定义字段”中先把变量类型设好(numeric/factor/日期),再在本页生成新变量,可减少报错与歧义。
2.7.4 在左侧填写生成规则
在输入区域指定新变量的生成规则(表达式)。
你可以基于任意已有变量进行:
数值计算(如比值、差值、标准化、对数/指数变换);
条件标记(按阈值、区间或多条件打标签);
文本清洗(统一大小写、去前后空格、替换错别字/别名等);
类型转换(文本↔︎数值、日期/时间、因子)。
规范建议:新变量名简短清晰,单位可写入括号(如
BMI (kg/m^2)
的派生列可命名为BMI_log
/BMI_z
等)。
2.7.6 浏览、导出与代码留痕
右侧主面板展示当前数据表;下方可切换 “修改前/修改后数据概览” 以核对变量数量、类型与缺失;
点击 “下载修改后数据” 导出 Excel(文件名形如
create_data-YYYY-MM-DD.xlsx
);“代码”区域会显示每次生成操作对应的 R 代码,建议复制粘贴到方法学/附录,确保团队可复现。
2.7.7 质量核对清单(强烈建议)
类型正确:数值应为 numeric;需要分组展示的标签应转为 factor;日期列应为 Date/Datetime。
取值合理:是否出现不可能值(如负年龄、分母为 0、比例>1 等)。
缺失处理:运算是否放大了缺失(NA 链式传播);必要时先用“缺失值填补”。
单位一致:运算前确保量纲统一(如 mmHg vs kPa,mg/dL vs mmol/L)。
长度一致:新列行数与原数据一致、无回收与错位。
命名规范:避免使用英文冒号等特殊字符;尽量采用有含义且便于检索的命名。
2.7.8 常见场景与建议
连续变量变换:对数/平方根/标准化以改善分布或可比性;建模时可同时保留原始列做敏感性分析。
阈值标记:按指南阈值生成分层标签(正常/边界/异常、高危/低危),用于表格展示与人群分层。
文本标准化:统一大小写、去空格、替换别名,便于后续按类别汇总与建模。
日期与区间:由入组日期与结局日期生成时间差(天/周/月),并按需要换算单位。
2.8 生成生存时间变量
当你的生存数据不是直接提供 time
(随访时长,单位:天)与 status
(结局状态:0=截尾/未观察到事件,1=事件发生),而是以两个日期表示(如“开始观察日期”“结束/事件日期”),本模块可将两日期相减,自动生成生存时间变量 time
(天) 并加入数据集中。
本页只生成时间差(天)。
status
变量请在其它页面准备或校对(如“数据标签批量替换”或在原始数据中整理)。
2.8.1 何时使用 / 何时跳过
适合使用:手头只有开始日期与结束/事件日期两列,需要计算生存天数用于后续 Kaplan–Meier、Cox 等分析。
建议跳过:数据中已经有合格的
time
列;暂不做生存分析;日期字段混乱未清洗(请先规范日期格式再来)。
2.8.2 概念速览(与方案一致最重要)
开始观察日期:与研究目的对应,可是研究开始日、随机化日、首次诊断日、首次治疗日等。请按你的研究方案选用。
结束观察日期:
若发生事件(如死亡/复发):取事件发生日;
若未发生事件:取末次随访日或研究截止日。
status 含义(本页不生成):建议
1=事件发生
,0=未发生(截尾)
。请确保与结束日期的定义一致配套。
首先务必按照下面的格式准备数据(网站上可下载,下载后在此基础上修改):
日期格式为:
导入数据后,需要在“定义字段”的模块将字段属性设置为”character”或 “factor”,请务必不要设置为“date”:
2.8.8 结果查看与下载
上方文字区域会提示:系统将两个日期差值作为
time
(天)新增到右侧;下方页签可切换 “原始数据” 与 “新数据” 进行对比核对;
点击 “下载修改后数据” 导出
new_surv_data-YYYY-MM-DD.xlsx
。
2.8.9 警告信息解读
“存在日期缺失”:某些行的开始或结束日期为空,新
time
将为 NA;请核对源数据或先做缺失处理。“结束日期早于开始日期”:常见于列选择错误或数据录入错误。请检查:
是否反选了列;
是否存在日期拼写/录入错误;
是否跨时区/跨日历导致的异常(极少见)。 该情形下,系统不会写入新列,请修正后重试。
“无法解析的日期格式”:不同格式混用(如
2024-01-05
与5/1/24
混在同一列)会导致解析失败。请先统一为同一种格式(推荐 YYYY-MM-DD)。
2.8.10 质量核对清单(强烈建议)
非负性:
time
应 ≥ 0;大量负值或异常大值表示日期选择或数据源有问题;缺失比例:统计
time
的缺失行数,必要时回到“缺失值填补”或数据清洗环节;分布合理:是否与疾病自然史、随访周期一致(过多的 0 天或极端长尾需要解释);
与
status
一致:事件=1 的行其结束日期应为事件日;截尾=0 的行应为末次随访日;命名可读:如
OS_time_day
、PFS_time_day
,在报告中更直观。
2.8.11 与后续生存分析的衔接
完成本页后,你应拥有:
- 时间
time
(单位:天); - 状态
status
(0/1)(请在其它页面准备或复核)。
- 时间
在生存分析模块(KM 曲线、Cox 回归等)中直接选择
time
与status
即可。如需按月/年展示,可在“生成新变量”模块中基于
time
派生time_month = time/30.44
等,但建模时建议保留天作为基础单位。
2.9 万能数据处理工具(AI终极杀器)
当你想用自然语言一次性完成复杂的数据治理(增删改查、变量转换、分组、重编码、缺失处理、异常值处理、行列互换、特征工程等),本模块可将你的文字指令转为 R 代码并执行,生成新的处理后数据集并可下载。
这是一个“全能工具”。请仍然遵循数据伦理与研究方案:不篡改真实观测、不过度加工以迎合结果。
2.9.2 何时使用 / 何时跳过
适合:需要批量数据处理但不想逐一在各子模块完成;希望有一键可复现的代码记录。
跳过:需求很简单且已有专门模块可更稳地完成(如“缺失值填补”“数据标签批量替换”“连续性变量分组转换”等)。
2.9.7 编写或粘贴你的命令
在“请输入您的命令”框内,描述你要做的操作(如:分组、筛选、重编码、行列转换、异常值处理、标准化、特征工程、建模前处理等)。
关键约束:只对当前数据集进行处理,不创建或引用不存在的数据集;命令中使用的变量必须存在于当前数据里。
2.9.9 查看结果与下载
在“数据与概览”页签查看处理后的数据与概要;
在“下载生成数据集的 R 源代码…”页签查看生成的R 源代码轨迹;
点击“下载数据”导出当前数据(文件名形如
processed_data-YYYY-MM-DD.xlsx
)。
2.9.10 写命令的注意事项
变量名:与数据中完全一致;含空格/中文/特殊符号者,请加引号;
类型意识:清楚变量是连续值还是分类值;不要把数字编码的分类变量当作连续处理;
范围与单位:显式写清阈值、分组界限与单位(如“≥140 mmHg”应先确保数据单位一致);
避免歧义:复杂需求分句描述;先指定新变量名,再说明其生成规则;
数据安全:避免在命令中包含可识别个人的信息;
性能:全表操作(如全量模型填补、聚类)在大数据上可能耗时,请先在小样本验证逻辑。
2.9.11 质量核对清单(强烈建议)
行数/列数:是否与预期一致(过滤/合并是否正确);
缺失:关键变量的缺失是否变化合理;
分布:连续变量分布是否异常拉伸;
分类水平:是否多出不合理的水平;
关键字段:ID 是否仍唯一,时间先后是否合理;
随机性操作:抽样/打乱后是否固定随机种子以便复现(可在后续“R 源代码”页签检查)。
2.9.12 常见任务导航(命令示例方向提示)
离散化与分组:按阈值、等频、等距或聚类把连续变量转分类,生成新分组变量;
条件转换:按多条件给出分组标签或风险标记(如满足 A 且 B 且 C 标记为“高危”);
缺失值处理:删除含缺失的行、按统计量/分组统计量填补、或使用模型/多重插补(请谨慎);
数据过滤:按人群、时间窗、范围筛选;
数据清理:去重、统一单位、文本清洗(去括号、去特殊符号、大小写统一等);
变量重编码:把数字码表换回有意义的中文标签(便于直接出发表格);
异常值处理:IQR/Z 分数/阈值标记与替换/删除;
标准化与变换:Z-score、Min–Max、对数/平方根/Box–Cox;
行列互换:宽↔︎长的形态转换,便于时间序列或面板分析;
回归前处理:生成哑变量、剔除强影响点、准备训练/验证集等。
2.9.13 警告与错误信息的含义
变量不存在:命令里提到的变量未在数据中找到——请核对变量名或先在前置模块创建;
无法解析/类型不匹配:阈值或条件与变量类型冲突(如对文本做数值比较);
权限/包相关:若提示依赖功能不可用,通常为环境未加载到相应能力(已自动处理为可复现代码);
执行失败:命令语义歧义或逻辑冲突;请将需求拆分为更清晰的句子再次提交。
2.9.14 可复现性与合规
右侧“R 源代码”页签会实时累计本次会话的处理代码,便于审稿复核与复现实验;
每次重大处理后,建议立即下载数据与代码(留档版本号、时间与操作者);
保留原始数据与处理日志,避免不可逆覆盖。
2.10 患者筛选和亚组选择
本页用于筛选患者与选择亚组:在不改变原始数据的前提下,快速排除异常记录、锁定研究人群,为后续统计与作图提供干净一致的分析集。
建议顺序:先完成 “定义字段” →(可选)缺失值填补 → 再进行 患者筛选/亚组选择。
2.10.1 界面构成
左侧筛选器区:可对各字段设置条件;
字符/分类型:下拉多选,含“缺失值”选项;
数值型:滑块设定范围;
日期型:日期滑块设定起止;
右侧结果区:
顶部 进度条:显示筛选后样本量占比;
下载修改后数据 按钮;
数据表预览(可横向滚动);
患者筛选的 R 代码 与 条件表达式(便于复现与记录);
底部 “筛选前/筛选后数据概览” 两个页签,快速核对变量分布变化。
2.10.3 设置筛选条件
- 在左侧依次为需要限制的变量设置条件:
分类型变量:下拉多选需要的水平;如需包含空值,请勾选 “缺失值”。
数值型变量:拖拽滑块设置最小与最大范围;用于剔除明显不合理的取值(如年龄 < 0、体温 > 45℃ 等)。
日期型变量:用日期滑块设置起止日期,限定入组或随访时间段。
- 多个条件默认同时成立(AND)。避免互相矛盾的组合(如“治疗组=化疗”且“治疗组=免疫治疗”同时勾选但又设为互斥)。
- 条件变动后,右侧进度条与数据表会自动更新:
进度条 = 筛选后行数 / 原始行数;
数据表展示当前筛选结果,便于即时检查。
2.10.4 下载与复现
点击 “下载修改后数据”,导出当前筛选后的数据集(xlsx)。
右侧显示的 “患者筛选的 R 代码”(dplyr 管道)与 “条件表达式”,可直接复制保存到你的脚本/方案,确保可复现。
2.10.6 常见使用场景(示例)
剔除生理不可能/输入错误值:如年龄限定在 18–95 岁,BMI 在 10–60 范围;
限定研究窗口期:入组日期在 2021-01-01 至 2023-12-31;
锁定治疗亚组:仅选择“免疫治疗 + 化疗”组合或特定方案;
疾病分期/分层:仅纳入 III–IV 期或 PD-L1 ≥ 50% 患者;
缺失模式敏感性:先排除关键结局缺失,再与“缺失值填补”后的分析集对照。
2.10.7 质量核对(强烈建议)
切换到底部 “筛选前数据概览” 与 “筛选后数据概览”:
观察样本量变化是否符合预期;
查看关键变量的分布偏移是否合理(避免无意间筛掉某个重要亚组);
关注分类变量是否出现稀有水平(过少水平可能影响模型稳定性);
若差异过大,请返回左侧调整条件。