不同观测数多例的斜率计算与编制嗨,
我知道线性斜率计算的主题之前已经讨论过,但我找不到一种有效的方法来为一组案例创建斜率的列表输出(即 患者)我随着时间的推移有不同数量的obervations。
这是数据的屏幕截图(模拟;附加了实际文件):
Mock data for SLOPE calculation模拟SLOPE计算的数据
根据本委员会先前讨论的建议,我使用Patient_ID作为By变量使用Fit Y by X(按时间测量的变化),并使用截距约束绘制线性拟合为0:
输出:5个分析与下面的相同:

我遇到的问题是如何将斜率的估计值收集到一个新表中,如下所示:
| Patient_ID | 坡 |
| AAA | M1 |
| BBB | M2 |
| CCC | M3 |
| DDD | M4 |
| EEE | M5 |
我们欢迎任何建议:我不附加原始数据格式或分析方法。
谢谢
Re:具有不同观测数的多个案例的斜率计算和编译检查树结构和JMP版本。 我的代码适用于JMP 11.2.1,12.2.0和13.1.0。 有时从一个版本到另一个版本的底层结构存在差异。 如果您在数字col框中看到常规模式(例如7,22,37,52,67),则可以将其构建到循环中。
Re:具有不同观测数的多个案例的斜率计算和编译脚本也可以使用几种不同的技术来提取估计值。由于By组,常见的迭代方法变得很麻烦,但如果只是暴力,则可以是直接的。更优雅的解决方案是在报表显示树上使用单个XPath查询来将所有斜率检索为向量。我现在没有时间研究确切的语法,但这很容易,除了细节。像这样的东西:
plat << XPath( "//NumberColBox[NumberColBoxHeader=\!"Estimate\!"]" ) << Get( 2 );
Re:具有不同观测数的多个案例的斜率计算和编译谢谢:我总是忘记这个非常简洁的功能
Re:具有不同观测数的多个案例的斜率计算和编译嗨,
感谢您的快速回复:这是我一直在寻找的,除了从多图报告中“检索”parameter_estimate不起作用,因为NumberColBox(7)仅适用于第一个图,下面的图有他们的对应的NumberColBox 23,37等。
我不知道如何遍历NumberColBox调用。
有什么想法吗?
谢谢
TS
Re:具有不同观测数的多个案例的斜率计算和编译你发现了通过角色组用于单独回归分析的数据。(我希望你知道在单击红色三角形并选择Fit Line命令之前按住Ctrl键!)现在右键单击Parameter Estimates表并选择Make Combined Data Table。
Re:具有不同观测数的多个案例的斜率计算和编译这段代码可以解决问题。 “秘密”是查看输出的基础树结构,转换为报告。
dt = data table("SLOPE_Calculation_mock_data");
bv = dt << Bivariate(
Y( :Change in Measure ),
X( :Time ),
Fit Line( {Line Color( {213, 72, 87} )} ),
By( :Patient_ID )
);
// Figure out how many patients there are
dtab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table( Row Table( Grouping Columns( :Patient_ID ) ) ),
invisible
);
pdt = dtab << Make Into Data Table;
np = nrows(pdt);
patient_list = pdt:Patient_ID << get values;
dtab << close window;
pdt << new column("Slope", numeric, continuous);
bvrep = bv << report;
//bvrep << show tree structure; // Used to get underlying structure
for (i = 1, i <= np, i++,
parameter_estimates = bvrep[i][numbercolbox(7)] << get;
one_slope = parameter_estimates[2];
pdt:Slope[i] = one_slope;
);