如何將列值標籤轉換為值?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我是社區新手(但從版本 1 開始就使用 JMP),所以我不知道該問題該放在哪裡。
已從 SPSS (.sav) 導入一個文件,其中包含多個帶有值標籤的列。 我想使用值標籤(它們是實際名稱)而不是值(它們是數字)。 recode好像沒有這個功能。 有人可以幫忙嗎? 預先非常感謝。 延斯
回复:如何將列值標籤轉換為值?感謝所有為此提供幫助的人。 離開計算機有一段時間了,但現在又重新開始使用 JMP 工作。 我會嘗試不同的建議,看看哪個對我來說最快。
回复:如何將列值標籤轉換為值?將列轉換為標籤列的另一種方法是複制列,將數據粘貼到腳本編輯器窗口(或任何文本窗口)中。 然後從文本窗口復制數據。 粘貼到原始表中的新字符列中。
回复:如何將列值標籤轉換為值?我無法抗拒嘗試將凱倫的想法腳本化。 獲取值標籤返回一個帶有一個參數的表達式:“賦值”列表,例如 2 =“否”。 我想到了兩種方法:要么直接使用這些(非法)分配,要么按照 Xan 的建議將它們操縱為匹配表達。
以下是我對這兩種方法的嘗試。 這裡的 Match 方法更快。 對於大型表,如果許多值缺少標籤,則性能似乎會變得更加平等。 匹配代碼可能可以改進。
open_example_table = Expr(
dt = Open( "$SAMPLE_DATA/CrabSatellites.jmp" );
col = Column( dt, "color" );
col << data type( character );
);
//1
open_example_table;
bt = HP Time();
// Direct assignment code
v = Arg( col << get value labels(), 1 );
For( i = 1, i <= N Items( v ), i++,
col[dt << get rows where( col[] == Arg( v[i], 1 ) )] = Arg( v[i], 2 )
);
// End direct assignment
ht = HP Time();
t1 = ht - bt;
Close( dt, no save );
// 2
open_example_table;
bt = HP Time();
// code for building Match expression by string manipulation
match_expr = Parse(
"Match( col[]," || Substitute( Char( Arg( col << get value labels(), 1 ) ),
"{", "",
"=", ",",
"}", ""
) || ",col[])"
);
For Each Row( col[] = match_expr );
// End Match
ht = HP Time();
t2 = ht - bt;
Show( t1, t2 );
t1 = 1729;
t2 = 1019;
//:*/
回复:如何將列值標籤轉換為值?好主意,凱倫。
延斯,將標籤作為數據取出來並不容易。 我能想到的兩種方法:
- 通過腳本編寫,您可以使用“獲取值標籤”並手動或以編程方式操作結果,使其類似於 Recode 在將其保存為腳本時生成的 Match() 表達式。
- 對變量進行製表並對結果使用“生成數據表”。
對於#2,如果它們不在排序的一對一映射中,您將需要某種方法來匹配它們。 步驟:
- 在新列中創建值的副本(不帶值標籤)

- 使用 Tabulate 將兩個變量作為類別列:


- 使用製表命令“製作數據表”來獲取沒有“值標籤”屬性的新表。
- 使用“表”>“聯接”來匹配原始值,並獲得沒有值標籤的新“帶標籤”列。
回复:如何將列值標籤轉換為值?我認為我們想要的(但現在沒有)是“用值標籤重新編碼”。我也時不時想要這個功能。
凱倫
回复:如何將列值標籤轉換為值?如果您有代碼及其值的表,則可以使用 UPDATE 命令添加適當的值列。
回复:如何將列值標籤轉換為值?你好,謝謝你的提示。 有超過 300 個值標籤,我必須在 Recode 中手動輸入它們 - 我希望有一種更智能的方法。
回复:如何將列值標籤轉換為值?將數據類型更改為字符,然後使用重新編碼。
回复:如何將列值標籤轉換為值?嗨,斯坦利,感謝您的幫助。我知道值標籤的功能,但我需要的是將 1,2,3 值更改或替換為“否”、“是”(例如,如您的示例中所示)字符值。
我需要連接兩個具有匹配列的表,其中一個具有字符值(與另一個表中的值標籤相同,即未使用編碼),另一個具有帶值標籤的數值(代碼)。
或者有沒有一種方法可以根據一個表中列的值標籤和另一個表中匹配列中的實際值來動態連接表?
此致
延斯
回复:如何將列值標籤轉換為值?你好,
如果我正確理解你的問題。
您可以通過列屬性打開或關閉值標籤。
在此示例中,使用示例數據中的消費者偏好,我能夠右鍵單擊該列並取消選中值標籤選項。

該列不再使用值標籤,如下所示。

我希望這有幫助。
最好的,
斯坦