嘿,
我正在嘗試運行for循環來分類幾列數據。在3列或4列中,具有最高值的列指示整個行的類別。我嘗試在新專欄中使用這個公式無濟於事。作為參考,我使用的是我後來保存為其自己的單個文件的數據子集。
For( i = 1, i < N Row( :Linked Subset ), i++, If( :Linked Subset[i][5] > :Linked Subset[i][3], :Label = "Hormone", If( :Linked Subset[i][4] > :Linked Subset[i][3] & :Linked Subset[i][6] > :Linked Subset[i][3], :Label = "ImmunoChemo", If( :Linked Subset[i][4] > :Linked Subset[i][3], :Label = "Chemo", If( :Linked Subset[i][6] > :Linked Subset[i][3], :Label = "Immuno", :Label = "None" ) ) ) ) )
然後我試著運行這個腳本
dt = Open( "~/One Drive/Work/Research/Exported CSV/Subset.jmp" );
For( i = 1, i < N Row( :Linked Subset ), i++,
If( :Linked Subset[i][5] > :Linked Subset[i][3],
:Label = "Hormone",
If( :Linked Subset[i][4] > :Linked Subset[i][3] & :Linked Subset[i][6] > :Linked Subset[i][3],
:Label = "ImmunoChemo",
If( :Linked Subset[i][4] > :Linked Subset[i][3],
:Label = "Chemo",
If( :Linked Subset[i][6] > :Linked Subset[i][3],
:Label = "Immuno",
:Label = "None"
任何有關腳本或公式無效的幫助都非常感謝。我承認,在嘗試編寫腳本時我有點迷失,所以我認為它與它應該是有點遠。我鏈接了文件,但我必須刪除數據表的第一列以查找隱私問題。
謝謝
謝謝你的澄清!我嘗試在公式中用(dt)替換(:鏈接子集),但它沒有輸出指定列的任何類別。我也試過你清理過的版本,但它仍然沒有用。有什麼想法為什麼公式仍有問題?
謝謝你的幫助。
JMP變得混亂,因為您使用列名引用(:Linked Subset)作為表變量。 您也可以只使用一個IF來清理if語句。 我不確定這是否正是你想要的,但它可能會給你一些提示,讓你更接近你的目標。
dt = Open( "~/One Drive/Work/Research/Exported CSV/Subset.jmp" );
For( i = 1, i < N Row( dt ), i++,
If(dt[i][5] > dt[i][3],
:Label = "Hormone",
dt[i][4] > dt[i][3] & dt[i][6] > dt[i][3],
:Label = "ImmunoChemo",
dt[i][4] > dt[i][3],
:Label = "Chemo",
dt[i][6] > dt[i][3],
:Label = "Immuno",
:Label = "None"
);
);