Y與X,或平行情節,或其他什麼?我有一組數據,我無法想像我想要的方式。
在這個數據的最簡單的再現中,我有四列數據:
- “樣品”。我目前的數據中有大約1800個樣本。
- “子樣本”。這些被命名為“2”,“3”和“4”。我的1800個樣本中的每一個都具有這三個子樣本中的每一個。
- “位置”。這些被命名為“A”,“B”和“C”,但這些實際上是給予在子樣本上的特定位置處測量的特定數字位置的名稱。將子樣本視為一英寸長的棒。位置“A”可能是子樣本的1/4英寸,“B”可能是子樣本的1/2英寸,“C”可能是子樣本的3/4英寸。我對“A”,“B”和“C”之間的內插感興趣,假設現在是二次關係並且知道這最多是近似值。
- “數據”。在樣本中的子樣本內的位置處進行的實際測量。
我通過繪製數據對比來製作一個簡單的Graph Builder 位置,Y組針對子樣本並覆蓋樣本。該圖(採用Sample變量的一個較小的子集)看起來像這樣:

還可以想到並行圖,只需簡單調用Split平台並在Graph Builder中進行一些操作,我就能想到:
對於好奇的人來說,得到這個情節的JSL看起來像這樣:
Graph Builder(
Variables(
X( :C 2 ), X( :B 2, Position( 1 ) ), X( :A 2, Position( 1 ) ),
X( :C 3 ), X( :B 3, Position( 2 ) ), X( :A 3, Position( 2 ) ),
X( :C 4 ), X( :B 4, Position( 3 ) ), X( :A 4, Position( 3 ) )
),
Elements( Position( 1, 1 ), Parallel( X( 1 ), X( 2 ), X( 3 ), Legend( 8 ), Curve Lines( 1 ) ) ),
Elements( Position( 2, 1 ), Parallel( X( 1 ), X( 2 ), X( 3 ), Legend( 7 ), Curve Lines( 1 ) ) ),
Elements( Position( 3, 1 ), Parallel( X( 1 ), X( 2 ), X( 3 ), Legend( 6 ), Curve Lines( 1 ) ) )
);
但實際上這兩個情節都沒有我想要的所有功能。
- 平行圖將圖形並排放置(就好像我使用的是X組)。如前所示,我真的希望子樣本垂直佈局,具有類似Y的行為。
- 由於我的位置(A,B,C)代表一個基礎數字維度,我想假設一個二次模型(現在)並插入A和C之間的不同位置.Y vs. 在Graph Builder中使用Smoother元素的X方法做得很好。Parallel Plot堅持將曲線渲染為更像每個平行軸之間的logisitic函數。
- 我希望圖中所有樣本都有一個恆定的顏色。雖然雙擊圖例並在Y對中設置顏色相對容易 X方法,它有點單調乏味,如果我想在JSL中進行操作,則不能很好地概括。(基本上我必須運行一個循環並將每個樣本的color屬性插入Graph Builder表達式。)
- 我想添加一個平均預測線(實線,更粗的黑線)。這兩種方法似乎都沒有這種能力。我甚至都不知道從哪裡開始使用Parallel。對於Y vs. XI只考慮將數據列再次拖動到Y軸,但這裡的問題是兩個版本的Data都希望尊重Overlay屬性。我無法弄清楚如何讓Overlay在其中一個視圖上工作而不在另一個視圖上工作。
- 理想情況下,我希望能夠選擇一個樣本,並在圖中突出顯示所有三個子樣本,如下所示:

這適用於並行視圖,但在Y vs. X視圖每個樣本用9行數據表示(3個子樣本* 3個位置)。單擊該圖中的一行將導致JMP在3個位置突出顯示,但JMP不知道我希望它突出顯示其他兩個子樣本,因為組Y被視為我的樣本標識符。這可能是我寫作的最難的標準。 - 坦率地說,我認為可能存在關於測量的可變性和識別外圍樣本甚至樣本中的外圍子樣本的其他問題?我不確定這些方法中的任何一種都能讓我在那裡。
我知道JMP 14將有一個功能數據資源管理器,但我不確定它是否適用於我在這裡的嵌套結構,以及每個子樣本只有三個測量的事實...
我應該看看還有哪些其他選擇?
Re:Y vs X,還是Parallel Plot,還是其他什麼?我們正在朝著這個方向前進。通過這種方式真正理解樣品到樣品的情況仍然有些挑戰(即樣品1相對於樣品2相對於樣品3真正適合於哪裡?)。
我的數據如何組織也存在一些誤解,所以我也修改了模擬數據表。
請參閱模擬數據表和我當前的Profiler分析。無論如何,這是一個開始。
New Table( "mock data",
Add Rows( 1800 * 9 ),
New Column( "sample", Numeric, "Nominal", Format( "Best", 12 ), Formula( Sequence( 1, 1801, 1, 9 ) ) ),
New Column( "subsample", Numeric, "Nominal", Format( "Best", 12 ), Formula( Sequence( 1, 3, 1, 3 ) ) ),
New Column( "location", Numeric, "Continuous", Format( "Best", 12 ), Formula( Sequence( 1, 3 ) ) ),
New Column( "Data", Numeric, "Continuous", Format( "Best", 12 ), Formula( Abs( Random Normal() * :location ^ 2 ) ) )
);
Fit Model(
Y( :Data ),
Effects( :subsample, :location, :subsample * :location, :location * :location, :subsample * :location * :location ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Run(
Profiler( 1 ),
:Data << {Effect Summary( 0 ), Summary of Fit( 0 ), Analysis of Variance( 0 ), Parameter Estimates( 0 ),
Effect Tests( 0 ), Effect Details( 0 ), Lack of Fit( 0 ), Scaled Estimates( 0 ), Plot Actual by Predicted( 0 ),
Plot Residual by Predicted( 0 ), Plot Studentized Residuals( 0 ), Plot Effect Leverage( 0 ),
Plot Residual by Normal Quantiles( 0 ), Box Cox Y Transformation( 0 )},
Automatic Recalc( 1 )
),
Local Data Filter(
Add Filter( columns( :sample ), Where( :sample == 1 ), Display( :sample, Size( 224, 315 ), List Display ) )
)
);Re:Y vs X,還是Parallel Plot,還是其他什麼?所以這是一種非常不同的方法。
第一件事是將您的位置從字母更改為它代表的實際值。
現在嘗試使用擬合模型。數據是你的Y而你的X'x就是這些效果。
在你跑步之前,如果B位置不在A和C的中間,那麼從紅色triange菜單中關閉“中心多項式”
這組術語將為您提供位置的二次方(確保位置是數字連續,而不是字母),然後位置和子樣本的主要效果加上相互作用將使您對每個子樣本級別具有獨立的斜率和截距。
這是剖析圖。 (我模擬了1800個樣本,來自三個位置,每組三個是子樣本)
預測分析器

因此,您可以從圖形中進行插值,但是如果將預測公式保存到數據表中,則可以插入其他poisition。看看公式。 它的類型是monstorous,因為它包含每個子樣本的係數。
//Mock Data Table
New Table( "mock data",
Add Rows( 1800 ),
New Column( "sample", Numeric, "Nominal", Format( "Best", 12 ), Formula( Sequence( 1, 1801 ) ) ),
New Column( "subsample", Numeric, "Nominal", Format( "Best", 12 ), Formula( Sequence( 1, 601, 1, 3 ) ) ),
New Column( "location", Numeric, "Continuous", Format( "Best", 12 ), Formula( Sequence( 1, 3 ) ) ),
New Column( "Data",Numeric,"Continuous",Format( "Best", 12 ),Formula( Abs( Random Normal() * :location ^ 2 ) )
)
);