計算多個字元中的值並標記位置?您好,請問如何從下面的 1 個特徵列計算數字 0,1,2?太感謝了! (x = 缺失)
| 圖案 | 計數 0 | 計數 1 | 數2 | 位置0 | 位置1 | 位置2 |
| x,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0 | 26 | 1 | 0 | 2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27, 28 | 4 | 0 |
| 2,2,2,2,2,0,0,0,0,0,0,1,1,1,2,0,1,1,1,2,2,2,0,0,0, 0,0,0 | | | | | | |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1, 1,1,0 | | | | | | |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, 1,0,1 | | | | | | |
| 2,2,2,2,2,2,2,2,0,2,2,2,0,0,0,1,2,2,2,2,2,2,2,2,2, 2,2,2 | | | | | | |
基礎資料分析與建模回覆:計算多個字元中的值並標記位置?Loc()可以取得索引。以下是快速而骯髒的解決方案
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
Compress File When Saved(1),
New Column("Pattern",
Character,
"Nominal",
Set Values(
{"x,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
"2,2,2,2,2,0,0,0,0,0,0,1,1,1,2,0,1,1,1,2,2,2,0,0,0,0,0,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1",
"2,2,2,2,2,2,2,2,0,2,2,2,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2"}
)
)
);
vals = {"0", "1", "2"};
For Each({val}, vals,
new_col1 = dt << New Column("Count " || val, Numeric, Continuous, Formula(
N Items(Loc(Words(:Pattern, ","), val));
));
new_col2 = dt << New Column("Position " || val, Character, Nominal, Formula(
Char(Substitute(Char(Loc(Words(:Pattern, ","), val);), "[", "", "]", "", " ", ""));
));
dt << run formulas;
new_col1 << delete formula;
new_col2 << delete formula;
);回覆:計算多個字元中的值並標記位置?嗨,jthi,
感謝您的協助。但是如果我有多行,我可以使用矩陣或其他命令來代替
Set Values(
{"x,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
"2,2,2,2,2,0,0,0,0,0,0,1,1,1,2,0,1,1,1,2,2,2,0,0,0,0,0,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1",
"2,2,2,2,2,2,2,2,0,2,2,2,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2"}謝謝你!
回覆:計算多個字元中的值並標記位置?取得 dt 變數的資料表的參考(例如 Open() 將傳回已開啟的資料表的參考),只要列名為 Pattern,腳本就應該工作
回覆:計算多個字元中的值並標記位置?謝謝,但我的意思是我有 6453 行(我需要將所有數據複製到“set value { }”中。您能為我提供一個更好的解決方案嗎?非常感謝。
回覆:計算多個字元中的值並標記位置?您不需要複製任何內容。只需獲取對您的數據表的引用即可。
dt = Open("pathtomytable");
或者
dt = Datatable("mytablename")
或(通常是不好的選擇,但有時會做你需要的事情)
dt = Current Data Table();
您使用適合您需求的解決方案來替換我的解決方案的這一部分
dt = New Table("Untitled",
Add Rows(5),
Compress File When Saved(1),
New Column("Pattern",
Character,
"Nominal",
Set Values(
{"x,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0",
"2,2,2,2,2,0,0,0,0,0,0,1,1,1,2,0,1,1,1,2,2,2,0,0,0,0,0,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,0",
"0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1",
"2,2,2,2,2,2,2,2,0,2,2,2,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2"}
)
)
);
看更多...For example
Names Default To Here(1);
dt = Current Data Table();
vals = {"0", "1", "2"};
For Each({val}, vals,
new_col1 = dt << New Column("Count " || val, Numeric, Continuous, Formula(
N Items(Loc(Words(:Pattern, ","), val));
));
new_col2 = dt << New Column("Position " || val, Character, Nominal, Formula(
Char(Substitute(Char(Loc(Words(:Pattern, ","), val);), "[", "", "]", "", " ", ""));
));
dt << run formulas;
new_col1 << delete formula;
new_col2 << delete formula;
);
回覆:計算多個字元中的值並標記位置?嗨,賈莫,
太感謝了。是工作。
回覆:計算多個字元中的值並標記位置?您是說您的實際資料目前位於 JMP 矩陣中,而不是 JMP 資料表中?
回覆:計算多個字元中的值並標記位置?嗨吉姆,
這是我的錯,明白了。我的資料位於 JMP 表中。賈莫建議,它已經發揮作用了。另外,您是否有想法將“模式”列中的資料分組到相同的群組中?例如位置1-5的值為1與位置6-8的值為1相同。
| 圖案 | 圖案名稱 |
| 0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0 | 1 |
| 0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0 | 1 |
| 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0 | 2 |
| 0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0 | 2 |
| 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0 | 2 |
| 0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0, 0,0,0 | 2 |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0, 0,0,0 | 2 |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1, 0,0,0 | 2 |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 1,1,1 | 2 |
| 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 2,2,2 | 3 |
| 0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0,0,0,0, 0,0,0 | 3 |
| 0,1,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0,0,0,0, 0,x,0 | 4 |
| 0,0,0,1,0,0,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0,0,0,0, 0,0,0 | 4 |
| 1,0,0,0,0,1,0,0,0,0,0,2,2,2,2,2,2,0,0,0,0,0,0,0,0, 0,0,0 | 4 |
回覆:計算多個字元中的值並標記位置?您可以透過幾種不同的方法來做到這一點。
- 使用重新編碼建立一個新列,其中將包含新的群組值。
- 設定計數列的列屬性(稱為值標籤),並使用選項「允許範圍」變更顯示的值
- Write a little script that creates a new column and does the binning
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Count 1 Bins",
character,
set each value(
If(
:Count 1 <= 5, "1-5",
:Count 1 <= 10, "6-10",
:Count 1 <= 15, "11-15"
)
)
);
回覆:計算多個字元中的值並標記位置?嗨吉姆,
非常感謝,但是當我嘗試1和2時,由於數據行很多(6000+),這似乎很困難。 3 不起作用,因為上面有多個圖案(6000 行中 28 個位置的 2000 個圖案)。
此致,
提拉猜
回覆:計算多個字元中的值並標記位置?我的誤解。現在我對您的回覆是,我確信 JMP 可以做您想要的事情......如果您可以定義如何確定群組是什麼的規則?
回覆:計算多個字元中的值並標記位置?嗨吉姆,謝謝你,我嘗試結合數據模式。一般來說,我的資料位置1-5、6-9、10-11、12-17、18-22、23-25和26-28如果具有相同的0-2點,則它們是相同的類別(不固定在每個類別中的位置)此外,有時,類別為 11-17、1 5 6 8 13 18 23 26、2 7 19 24 25 27 28、3 9、4 20 22 和 21。所有數據中的其他模式。您能指導一下嗎?
謝謝你!
回覆:計算多個字元中的值並標記位置?我仍然很困惑。您附加了一個範例資料表。您能否從範例資料表中取出特定行並逐步了解如何分析該行中的資料的邏輯?