<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />在我的最後的帖子 ,我詳細介紹瞭如何從SAS支持網站提供的表中獲取9位郵政編碼及其X和Y坐標。我將此信息傳遞給相關客戶,他能夠將9位數的zip信息合併到他的表中。他的下一個問題是考慮獲得與這9個數字拉鍊相對應的城市和州信息。
我在網上做了一點挖掘並找到了一個圖形這表明各種狀態的5位數郵政編碼前綴遵循可預測的模式。
接下來,我在維基百科上找到了一個包含州名,城市和郵政編碼前綴的表格,並想出瞭如何將它加入我在上一篇文章中創建的9位數字郵政編碼表。
在JMP中,您可以執行以下操作,將City和State信息添加到包含5位數拉鍊的任何表中:
- 點擊文件> Internet Open 。在彈出的對話框中,粘貼此鏈接: https://en.wikipedia.org/wiki/List_of_ZIP_code_prefixes 。 選擇網頁從下拉菜單中單擊“確定”。
- 點擊文件>另存為數據表 。在彈出的對話框中,將所有內容保留為選中狀態,然後單擊“確定”。 一堆表將在JMP中打開。
- 點擊表>連接 ,並刪除當前顯示在選擇列表中的任何內容。 現在選擇包含郵政編碼信息的所有打開的表格。他們的名字以“郵政編碼前綴列表”開頭。在“連接”對話框中選中“創建源列”,然後單擊“確定”。 您現在將擁有一個包含多列數據的大表。我們需要堆疊它們以將它們全部放在一列中。
- 點擊表>堆棧 ,選擇第1列到第10列,然後選擇它們作為堆棧列。單擊確定。現在我們有一個包含源代碼,標籤和數據列的表。 數據包含拉鍊的3位數前綴,狀態和位置。 但它仍需要一些清理。
- 選擇Data列標題,然後單擊 Cols> Utilities> Text to Columns 。對於分隔符,請輸入空格。( 注意: “實用工具”菜單和“文本到列”僅在JMP 12中可用。如果您使用的是早期版本,則可以選擇一些方法來解決此問題 : 您可以下載傑夫 Perkinson的 TexttoCols插件從JMP文件交換,將其拖入JMP進行安裝,它會將一個項目添加到您的加載項菜單中,或者您可以以Excel格式保存JMP表,然後使用Excel中的“文本到列”功能也拆分空格,然後將Excel文件重新導入JMP。)
- 雙擊Data 1列標題將其重命名為Zip前綴
- 雙擊Data 2列標題將其重命名為State。 選擇State列後,單擊control-F(或Mac等效項)並選中Restrict to Selected Column框。 查找*,無需替換。找不到,替換為空。
- 通過移動單擊選擇數據3到數據8的列。點擊 Cols> Utilities> Combine Columns 。(同樣,僅在JMP 12中找到,儘管您可以在早期版本中使用公式列進行連接)。在“組合列”對話框中,將“城市”指定為列名稱,並使用空格替換“分隔符”框中的“,”。單擊確定。
- 您現在有一個城市名稱列與空格一起放回。我們希望將“未使用”字符串放回到它應該存在的行中,因此請在選中該列時再次查找和替換,將“使用中”替換為“未使用”,就像我們刪除之前一樣不在州列中。您可以檢查表 - 基本上所有沒有列出狀態的行應該沒有使用而不是城市列下的城市名稱。
- 現在,在您的郵政編碼數據表中,您需要解析郵政編碼變量,以獲得與我們新導入的表格匹配的前3位數字。
- 打開您的郵政編碼表,然後雙擊現有列之後的第一個空列。 這將創建一個名為Column 7的新列。雙擊以顯示“列屬性”對話框。將數據類型更改為Character,並將列重命名為三位數前綴。從該對話框的“列屬性”下拉列表中,選擇“公式”。
- 在打開的“公式編輯器”窗口中,選擇“表列”下的列列表下的“ZIP”,然後選擇“函數”下的列選擇器下的“字符”>“子”。在“開始”框中,鍵入1,然後在“長度”框中鍵入3。單擊確定。
- 如果你現在這樣做表>加入並且通過兩個3位前綴變量進行匹配,您應該將street,city,state和zip變量放在一起。我使用這些設置加入。請注意兩個表的匹配列和“包含不匹配”複選框。

我使用上面的步驟將城市和州信息添加到我的ZIP4數據表中,其中包含我從SAS支持站點導入的9位郵政編碼,並繪製了X和Y坐標:

(幹得好拜倫 ! )