缺少 Y 響應變量擬合模型比例風險我正在嘗試進行一些生存分析,我將一些分析組合到一個腳本中。 所以我想做的是,他們將列輸入生存平台,然後我將這些列用於比例風險平台。 除了 Y,響應,我的腳本工作得很好,它不會找到 Y 響應變量。 如果我改變Y( As Column( Ycolname ) ) 到 Y("Time to Failure") 之類的東西,效果很好。但是當我嘗試使用該變量時,它不起作用。
</CODE></P><P>我有兩個問題 - 為什麼我的方法對 Censor 和 Xs 有效,但對 Ys 無效。</P><P>第二個問題,如果他們不輸入 by 或 frequency 列,我如何告訴擬合模型沒有要輸入的列。 如果我使用 As Column(變量),它會說找不到我的列,這是正確的。</P><P> </P><P> </P><P> </P><PRE><CODE class=" language-jsl">Names Default To Here( 1 );
Clear Log();
dt = Current Data Table();
If( Not( Is Scriptable( dt ) ),
dtsel = Pick File( "Open File", {"JMP|jmp", "All files|*"} );
If( dtsel == "",
Stop(),
Try( dt = Open( dtsel ), Stop() )
);
);
dtname = Data Table( dt ) << Get Name;
validated = 0;
New Window( "Survival/Reliability",
<<MODAL></MODAL>
分析蘋果系統腳本回复:缺少 Y 響應變量擬合模型比例風險感謝您的指導,您的幫助非常大!
我的問題是 - 如果在第一個屏幕上沒有放入頻率的列,
頻率名稱 =精氨酸(生存[ 4個], 1個);
這將返回為空。
因此,如果我嘗試運行腳本:
平台 = dt <<擬合模型(
頻率(柱子(頻率名稱)),
經過(柱子( 按名字 ) ),
Y(柱子( Ycolname ) ),
審查(柱子(審查名)),
影響(柱子( 效果名稱 ) ),
性格( “比例風險” ),
審查代碼( “1” ),
運行模型(似然比檢驗( 1個), 似然置信區間( 1個), 風險比率( 1個) )
)
它會說沒有頻率列,這是真的。
所以我所做的是放置 8 個嵌套的 if 循環來查看哪些列為空。
也許不是最好的方法,但它確實有效。
回复:缺少 Y 響應變量擬合模型比例風險我不確定我是否理解這個問題。 這是我嘗試和看到的。
我首先修改 Rats.jmp 以模擬一個案例,以便我可以測試您的代碼:

我添加了一列 By 並將數據平均分為兩組。
我將您的最後一段代碼修改為以下內容。
if (isempty(byname),
Platform = dt << Fit Model(
// Freq(),
// By(),
Y( Column( Ycolname ) ),
Censor( Column( Censorname ) ),
Effects( Column( Effectname ) ),
Personality( "Proportional Hazard" ),
Censor Code( "1" ),
Run Model( Likelihood Ratio Tests( 1 ), Likelihood Confidence Intervals( 1 ), Risk Ratios( 1 ) )
),
Platform = dt << Fit Model(
// Freq(),
By( column(byname) ),
Y( Column( Ycolname ) ),
Censor( Column( Censorname ) ),
Effects( Column( Effectname ) ),
Personality( "Proportional Hazard" ),
Censor Code( "1" ),
Run Model( Likelihood Ratio Tests( 1 ), Likelihood Confidence Intervals( 1 ), Risk Ratios( 1 ) )
)
);
我嘗試了兩條路徑來執行代碼:
首先,運行代碼並輸入角色,如下所示:

沒有“通過”。代碼的行為與以前一樣。
二、運行代碼,輸入角色如下:

使用“By”,最後我看到一條錯誤消息:

我猜中間結果是不同的,你的代碼沒有正確處理這種情況。
回复:缺少 Y 響應變量擬合模型比例風險你對我的第二個問題有什麼建議嗎?
如果他們不輸入依據或頻率列,我如何告訴擬合模型沒有要輸入的列。 如果我使用列(變量),它會說找不到我的列,這是正確的。
回复:缺少 Y 響應變量擬合模型比例風險我知道我試過這個但它對我不起作用,但是當我粘貼你的代碼時它工作得很好。 我不知道為什麼,但它很有效,謝謝!
回复:缺少 Y 響應變量擬合模型比例風險如果我將 As Column 更改為 Column,我將無法重現該問題。 這是我運行的完整代碼。 我只是將最後三個 As Column 更改為 Column。
Names Default To Here( 1 );
Clear Log();
dt = Current Data Table();
If( Not( Is Scriptable( dt ) ),
dtsel = Pick File( "Open File", {"JMP|jmp", "All files|*"} );
If( dtsel == "",
Stop(),
Try( dt = Open( dtsel ), Stop() )
);
);
dtname = Data Table( dt ) << Get Name;
validated = 0;
New Window( "Survival/Reliability",
<<MODAL></MODAL>
這是我的步驟和我所看到的。 我檢查了 JMP14、JMP15 和 JMP16。 由於您的代碼如何使用新的名稱文字,我相信您的版本不會更晚。
- 打開 Rats.jmp
- 運行腳本
- 彈出對話框時指定對話框,然後單擊確定

- 一些報告出現。 這是 Fit Model 啟動對話框,如下所示:

如果你看不到我在這裡看到的東西,我只能懷疑我們都不知道有什麼東西。 如果是這樣,您可能需要聯繫支持@jmp.com得到一些幫助。
回复:缺少 Y 響應變量擬合模型比例風險我知道,如果我將 Eval(PH) 移到底部,我會得到同樣的結果,但擬合模型沒有出現,這就是為什麼我將它移到原來的位置。 我對 Rats 也有同樣的錯誤,但我的文件沒有這個錯誤,不知道為什麼。 如果我取出表達式並讓它像這樣運行,那麼錯誤就會消失,我會遇到與以前相同的問題,沒有將 Expr(PH) 粘貼到屏幕截圖下方,其他列通過,但不是 Y . 這個腳本是正確的,也是我最近的。 如果您有任何想法,請告訴我! 這讓我非常沮喪,我不知道為什麼!

Names Default To Here( 1 );
Clear Log();
dt = Current Data Table();
If( Not( Is Scriptable( dt ) ),
dtsel = Pick File( "Open File", {"JMP|jmp", "All files|*"} );
If( dtsel == "",
Stop(),
Try( dt = Open( dtsel ), Stop() )
);
);
dtname = Data Table( dt ) << Get Name;
validated = 0;
New Window( "Survival/Reliability",
<<MODAL></MODAL>回复:缺少 Y 響應變量擬合模型比例風險請您仔細檢查您的腳本好嗎? 我不知道如何進入您在此處顯示的對話框。
我收到一條錯誤消息:

如果我將 Eval(PH) 移動到腳本底部,並將 As Column 更改為 Column,那麼我根本看不到 Fit Model 對話框。
順便說一句,我使用 Rats.jmp 進行測試。 “days”到 Y,“Censor”到 Censor,“Group”到 Grouping。
回复:缺少 Y 響應變量擬合模型比例風險Column 和 As Column 的作用一樣,填入除了 Y 以外的信息:

回复:缺少 Y 響應變量擬合模型比例風險如果你使用 Column 而不是 As Column,你會得到你想要的嗎? 我實際上沒有看到在什麼情況下,必須使用 As Column,而不是 Column。 也許,我的一位對此功能有更多了解的同事可以發表評論。