2014-02-26 83 views
0

我有一個income變量,其中包含分類變量races的收入信息,其中races=1爲白色,races=2爲黑色。我試圖通過簡單地在虛擬類別中對連續變量進行排序R

sort races income 
by races: count if income>316000 

弄清楚看到有多少黑人在我的數據集做了316000.的方式,我知道如何在Stata做到這一點。然而,我在掙扎R.我試過

x<-table(income,races) 
x[(x>316000) if races==2] 

但收到錯誤信息。

回答

1

在R您很少(也許永遠不會)需要對數據進行排序。考慮是這樣的:

table(races[income > 316000]) 
+0

工作就像一個魅力!謝謝。 – torentino

1

試試這個

x[x$income > 316000 & x$races == 2,] 
+0

我有這個,但托馬斯的建議的工作錯誤消息。非常感謝!! – torentino

1

其他的可能性,假設你的數據幀被命名爲df

df <- data.frame(income = c(316000, 316000, 316000, 316000, 316001, 316001), 
      race = c(1, 1, 1, 2, 2, 2)) 
df 
# income race 
# 1 316000 1 
# 2 316000 1 
# 3 316000 1 
# 4 316000 2 
# 5 316001 2 
# 6 316001 2 

with(df, sum(income[race == 2] > 316000)) 
# [1] 2 

# or 
with(df, sum(income > 316000 & race == 2)) 
# [1] 2 
+0

我試過這個,但得到0值。另一個建議適用於我的代碼。非常感謝! – torentino

+0

它爲我工作。請參閱編輯。 – Henrik