我有一個腳本使用雙變量平台生成離散時間單位上的數據圖(例如2021年第一周的202101)。 所使用的時間單位不可協商,並且如果被視為連續的話,也無法正確間隔:202052和202101之間的距離將與202101和202102之間的距離不同,但是這些距離應與連續兩週相同。 我的解決方案是創建一個具有值1,2,3,...的“序列”列,並將其與202052、202101、202102 ...配對,然後將值標籤應用於“序列”列(1具有值標籤202052、2具有值標籤202101、3具有值標籤202102),然後使用“序列”列作為X擬合Y中的X。 該解決方案效果很好,除了在輸出日誌時使用:值標籤不成立並且日誌中的圖恢復為“序列”列中的原始值,而不是使用值標籤。 有時,值標籤確實會轉移到日誌中,但是在我保存並重新打開後,x軸值已恢復為原始值。 我相信區別是使用腳本或ctrl + J到日誌(臨時保存值標籤)與復制->粘貼到日誌(不保存值標籤)。
我也許可以找到另一種方法來執行此操作,或者有人可以建議另一種方法,但是我更想知道值標籤是否從報告窗口不轉移到日記中是否是預期的JMP行為。 在將來的JMP版本中,這種行為會改變嗎?
我正在使用JMP Pro 14.3.0。 我已經確認在JMP Pro 15.2.1中也會出現此問題。 以下是重新創建問題的示例腳本。
// Data Table
dt = New Table( "Label Example",
Add Rows( 6 ),
New Column( "Week", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [202052, 202052, 202101, 202101, 202102, 202102] ) ),
New Column( "Sequence", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 1, 2, 2, 3, 3] ) ),
New Column( "Value", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [12, 39, 9, 1, 22, 9] ) ),
New Column( "Group", Character, "Nominal", Set Values( {"A", "B", "A", "B", "A", "B"} ) )
);
week_list = :Week << get values;
sequence_list = :Sequence << get values;
week_list_names = {};
// Build the Value Labels List
For( i = 1, i <= N Items( week_list ), i++,
If( !Contains( week_list_names, Parse( "\!"" || Char( sequence_list[i] ) || "\!" = \!"" || Char( week_list[i] ) || "\!"" ) ),
Insert Into( week_list_names, Parse( "\!"" || Char( sequence_list[i] ) || "\!" = \!"" || Char( week_list[i] ) || "\!"" ) )
)
);
:Sequence << Data Type( Character );
:Sequence << Value Labels( week_list_names );
:Sequence << Data Type( Numeric ) << Modeling Type( Continuous );
value_by_week = Bivariate(
Y( :Value ),
X( :Sequence ),
Fit Where( :Group == "A", Fit Each Value( {Line Color( {212, 73, 88} )} ) ),
Fit Where( :Group == "B", Fit Each Value( {Line Color( {66, 112, 221} )} ) ),
SendToReport(
Dispatch( {}, "Bivariate Fit of Value By Sequence", OutlineBox, {Set Title( "Bivariate Fit of Value By Sequence" )} ),
Dispatch( {}, "1", ScaleBox, {Inc( 1 ), Minor Ticks( 0 ), Label Row( Show Major Grid( 1 ) ), Label Row( Label Orientation( "Angled" ) )} ),
Dispatch( {}, "2", ScaleBox, {Inc( 10 ), Minor Ticks( 5 ), Label Row( Show Major Grid( 1 ) )} ),
Dispatch( {}, "Sequence", TextEditBox, {Set Text( "Week" )} )
)
);
value_by_week_rep = value_by_week << Report;
my_jrn = New Window( "Test Journal", <<JOURNAL></JOURNAL>我在JMP 15.2中復制了您的錯誤。它似乎已在JMP 16中修復。
有趣的! 我從來沒有想過嘗試這種方法,但是“在新窗口中重新運行”對我也適用。 我很高興在JMP 16中解決了該問題。 在我開始安裝它之前,這是一個可以接受的解決方法。 謝謝你的分享。