我需要得到Stata代碼的幫助,該代碼可以使我獲得獨特的變量組合。我有7個變量,我需要運行一個代碼,可以給我所有這些變量的獨特組合。每行將是所有7個變量的獨特組合。Stata中變量的唯一組合
一個例子: V1:A,B,C V2:1,2,3 A1 A2 A3,B1,B2,B3,C1 C2 C3
所有變量的獨特組合 - 總9個的組合。
我有15000個觀測值。我在R中得到了一個代碼,但R不會在大數據(內存錯誤)上得到輸出。我想在Stata中得到這個。
我需要得到Stata代碼的幫助,該代碼可以使我獲得獨特的變量組合。我有7個變量,我需要運行一個代碼,可以給我所有這些變量的獨特組合。每行將是所有7個變量的獨特組合。Stata中變量的唯一組合
一個例子: V1:A,B,C V2:1,2,3 A1 A2 A3,B1,B2,B3,C1 C2 C3
所有變量的獨特組合 - 總9個的組合。
我有15000個觀測值。我在R中得到了一個代碼,但R不會在大數據(內存錯誤)上得到輸出。我想在Stata中得到這個。
這並不是特別清楚你想要創建或完成什麼。這裏沒有代碼,甚至連R代碼都沒有顯示你想在R中完成什麼。沒有可重複的例子。您可能想查看egen, group()
。 (先前的答案,從@Dimitriy五Masterov,塔塔的有經驗的用戶,這種效應兩次錯誤地人不知道塔塔刪除垃圾郵件,想必)
或者,嘗試從SSC安裝groups
。
更新:答案聽起來更像fillin
。爲「獨特」閱讀「獨特」。
這並不是說我們對任何事情一無所知,它是*六字*填充廢話來擊敗垃圾郵件過濾器並不構成對[SO]的有效,高質量的答案。系統不斷將答案標記爲低質量並將其放入審覈隊列中。如你所做的那樣,寫一些不那麼簡單和表面上少的垃圾郵件就簡單了,問題就會消失。 – talonmies 2014-12-04 19:21:13
@talonmies我的觀點是,一個真誠善意,善於行事的人做出了錯誤的決定,我盡我所能糾正錯誤。沒有版主能夠知道這裏涵蓋的所有語言,這是其他用戶可以提供幫助的地方。 – 2014-12-04 19:42:45
一點遲到的反應,但我今天偶然發現了這一點。如果我理解的問題,這樣的事情應該做的伎倆,雖然我不知道它很容易應用到更復雜的數據,或者如果這甚至會是最好的方式......
* Create Sample Data
clear
set obs 3
gen str var1 = "a" in 1
replace var1="b" in 2
replace var1="c" in 3
gen var2= _n
* Find number of Unique Groupings to set obs
by var1 var2, sort: gen groups=_n==1
keep if groups==1
drop groups
di _N^2
set obs 9
* Create New Variable
forvalues i = 4(3)9 {
forvalues j = 5(3)9 {
forvalues k = 6(3)9 {
replace var1="a" if _n==`i'
replace var1="b" if _n==`j'
replace var1="c" if _n==`k'
}
}
}
sort var1
egen i=seq(), f(1) t(3)
tostring i, replace
gen NewVar=var1+i
list NewVar
+--------+
| NewVar |
|--------|
1. | a1 |
2. | a2 |
3. | a3 |
4. | b1 |
5. | b2 |
|--------|
6. | b3 |
7. | c1 |
8. | c2 |
9. | c3 |
+--------+
不幸的是,據我知道,要做到這一點並不容易 - 它需要相當數量的代碼。雖然,我看到另一個回答或評論,提到cross
這可能是非常有用的。另一個值得檢查的命令是joinby
。但即使使用這些方法中的任何一種,您都必須根據想要「交叉組合」的變量將數據分成7組。
無論如何,祝你好運,如果你還沒有找到你的解決方案。
這是一段代碼,沒有評論它的作用或如何推廣。請注意'if _n =='是'in'中笨拙的替代方案。 – 2014-12-23 09:24:24
非常感謝代碼。最後,我放棄了STATA,並使用了我想要的獨特組合來分解我的輸入數據集中的一些項目。 R能夠生成我可以使用的選項。我使用了以下內容:'pairs = unique(expand.grid(V1,V2,V3,V4,V5,V6))' – Freewill 2014-12-27 21:54:52
如果你只是想有7個變量的組合,你可以做這樣的:
keep v1 v2 v3 v4 v5 v6 v7
duplicates drop
list
然後你會得到的那些變量7獨特的組合名單。您可以使用原始數據集中的不同名稱保存該文件。請確保您不直接保存數據集。否則,您將失去原始數據。
'help cross'可能會有所幫助。目前還不清楚你想要什麼。 – 2014-12-04 12:34:29
謝謝大家,這裏是這個問題的鏈接,我需要在R幫助。http://stackoverflow.com/questions/27264952/unique-combinations-of-all-variables/27265123?noredirect=1#comment43038726_27265123 – Freewill 2014-12-05 03:30:12
I猜測這是一個改進,但只有當一個Stata用戶知道或不介意研究R. @尼克和我已經提到了一些選擇。你嘗試過嗎?如果是的話,爲什麼他們不適合你?如果不是,爲什麼不呢? – 2014-12-05 03:40:52