如果存在值標籤,匯總表將按錯誤順序排序<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
只是想知道我是否遇到了程序中的錯誤。
已知表摘要會根據分組變量生成排序表。我只是注意到如果有值標籤(並且沒有值排序)則情況並非如此。
例如:
打開(“$SAMPLE_DATA/Big Class.jmp”);
// 這將產生一個正確排序的表
數據表( "Big Class" ) << 摘要( Group( :age ), 鏈接到原始數據表( 0 ) );
// 這就是事情變得有點有趣的地方
:age << 值標籤( {13 = "十三"} );
數據表( "Big Class" ) << 摘要( Group( :age ), 鏈接到原始數據表( 0 ) );
回复:如果有值標籤,匯總表按錯誤順序排序按標籤對數據進行分組可以靈活地將不同的值聚合到一個組中,而無需實際更改數據。
它還消除了當兩個值映射到同一標籤時該怎麼辦的歧義。
回复:如果有值標籤,匯總表按錯誤順序排序您提到的情況,1 標記為低,5 標記為高,結果如您所料,低排序在前,高排序在最後。
其他執行此操作的平台是表格和圖表。
回复:如果有值標籤,匯總表按錯誤順序排序嗨,中偉,
我不這麼認為。 JMP 具有完美的靈活性,可以在價值觀本身之上提供價值標籤,這是補充性的,而不是替代性的。這允許多維性。
表摘要是迄今為止我在程序中遇到的唯一具有猜測值標籤應該即時重新編碼的行為的情況。
如果您知道任何其他平台/流程可以做到這一點,請告訴我。
此外,我發現按標籤而不是值排序是不正確的。考慮以下事項:使用取值 1-5 的變量,其中用戶將 1 標記為“低”,將 5 標記為“高”。在這種情況下,該變量的摘要將以不直觀的順序出現。 (即高、低、2、3、4,而不是低、2、3、4、高)。這是在簡單標籤的情況下。如果標籤更加“複雜”,那麼直覺和結果之間的差異可能會進一步增加。
謝謝!
回复:如果有值標籤,匯總表按錯誤順序排序當有人將相同的標籤分配給兩個不同的值時,您是否會認為他想將這兩個值分組在一起?
回复:如果有值標籤,匯總表按錯誤順序排序謝謝杰夫,這種通過值標籤“重新編碼”的行為在任何分析平台中都不會發生(也不應該發生)。
即使在其他表格菜單選項中,它也不會執行此操作,例如拆分。
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt:age << value labels({13 = "十三", 17 = "十三"});
數據表( "大類" ) << 分割(
分割依據(:年齡),
分割(:身高,:體重),
剩餘列(全部刪除)
);
回复:如果有值標籤,匯總表按錯誤順序排序謝謝杰夫和女士。
我只是發現 jmp 採用值標籤並且突然假設用戶打算重新編碼變量是不合適的。
羅恩
回复:如果有值標籤,匯總表按錯誤順序排序雖然這是有道理的,但 Jeff,Graph Builder() 似乎不同意 Summary() 關於如何使用值標籤對類別進行排序的觀點。
dt =打開( “$SAMPLE_DATA/大類.jmp” ) ;
dt :年齡<<價值標籤({ 13 = “十三” , 17 號= “十三” }) ;
dtsum = ( dt <<概括(團體( :年齡))) ;
dtsum <<圖形生成器(變量( X ( :年齡) ,是( : N 行))) ;
// 而“13”似乎只代表13
展示( dtsum :年齡<<獲取值,蘇姆山口( dtsum :年齡)) ;
回复:如果有值標籤,匯總表按錯誤順序排序我認為這裡的問題是,如果有兩個不同的值映射到同一值標籤,JMP 應該做什麼。
在您的示例中,您只有一個,但請考慮這一點:
Open( "$SAMPLE_DATA/Big Class.jmp" );
dt = current data table();
:age << value labels( {13 = "thirteen", 17="thirteen"} );
Data Table("Big Class")<<Summary( Group(:age ), Link to original data table(0));
由於“十三”現在代表兩個不同的年齡,因此無法在任何一個地方排序。
-傑夫
回复:如果有值標籤,匯總表按錯誤順序排序謝謝中偉,
我只是覺得有點令人驚訝,排序是按標籤而不是按值完成的。我實際上指的是排序,根本沒想到會這樣。如果這是有意的,它可能會試圖領先用戶一步。
回复:如果有值標籤,匯總表按錯誤順序排序謝謝米迪茲,
我使用的是版本10。
回复:如果有值標籤,匯總表按錯誤順序排序總之,分組列的類別是按相應值的標籤排序的。
對於沒有標籤的類別,它們的值被格式化為文本字符串,並排名在排序標籤之後(或者,如果按降序對分組列進行排序,則排名在之前)。
這就是您在示例中觀察到的情況。
回复:如果有值標籤,匯總表按錯誤順序排序您的腳本的行為與您所描述的不同。 當我運行您的代碼時,它將 :age <
修改後的代碼的行為如您所描述的。 我無法回答您為什麼會發生這種情況,但也許它會幫助其他人解決問題。 我正在運行 JMP 標準 11.2
打開(“$SAMPLE_DATA/Big Class.jmp”);
dt = 當前數據表();
// 這將產生一個正確排序的表
數據表( "Big Class" ) << 摘要( Group( :age ), 鏈接到原始數據表( 0 ) );
// 這就是事情變得有點有趣的地方
//as column(dt, :age) << value labels( {13 = "13"} ); // <-- 由於某種原因,這不會改變我的“大類”表。 即使我指定了 dt,它仍然會更改上面的匯總表。 使用下面的代碼來修復它。
當前數據表(dt);
:age << 值標籤( {13 = "十三"} );
數據表( "Big Class" ) << 摘要( Group( :age ), 鏈接到原始數據表( 0 ) );