我有一个income
变量,其中包含分类变量races
的收入信息,其中races=1
为白色,races=2
为黑色。我试图找出一种方法来查看我的数据集中有多少黑人超过316000.我知道如何在Stata中执行此操作只需
sort races income
by races: count if income>316000
然而,我在R中挣扎。我试过
x<-table(income,races)
x[(x>316000) if races==2]
但收到错误消息。
答案 0 :(得分:1)
试试这个
x[x$income > 316000 & x$races == 2,]
答案 1 :(得分:1)
在R中,您很少(可能从未)需要对数据进行排序。考虑类似的事情:
table(races[income > 316000])
答案 2 :(得分: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