用于在R

时间:2015-10-21 15:54:45

标签: r if-statement distribution

我的人口普查数据包含4列(年龄,广泛年龄,性别,种族)和每个人的多行。与此分开,我有不同年龄组和种族的就业类型数据。从数据集中我知道每个就业类型中的人数"年龄"小组,但只知道人们的种族和#34;广泛时代"基。

例如,我知道23名年龄在16-19岁的男性,53名年龄在20-21岁的男性,42名年龄在22-24岁的男性从事兼职工作,但我只知道#34;广泛时代的种族和#34 ; 16-24岁的一组,我知道38名男性是白人,依此类推。

我是R的新手,并设法为if" gender"做了IF语句。 &安培;如果"年龄"然后他们在兼职工作,但填充所有行。我试图找到一种方法,我可以根据我从人口普查数据中得知的情况来指定分布,因此第五栏按照"年龄"年龄"填充正确数量的兼职员工。小组,但对于"广泛时代"在每个种族群体中随机分配。

我认为我需要创建一个函数,但是对于合并分发部分有点困惑。任何建议都会收到很多!

示例数据:

Age     Broad Age       Gender      Ethnicity
16-17   16-24       Male            White
16-17   16-24       Male            White
16-17   16-24       Male            Asian
16-17   16-24       Male            Asian
16-17   16-24       Male            Asian
18-19   16-24       Male            White
18-19   16-24       Male            White
18-19   16-24       Male            White
18-19   16-24       Male            White
18-19   16-24       Male            White

外部数据示例(按年龄分类):

Age      Part-time  Full-time   S-E: Part-time  S-E: Full-time  Unemployed   Student

16 to 19    23.20%   5.52%         0.00%            0.55%         11.60%      58.56%
20 to 21    11.33%   1.97%         1.48%            0.00%         6.40%       78.82%
22 to 24    13.30%   18.09%        1.06%            2.13%         9.57%       54.26%

外部数据示例(按种族和广泛年龄划分的就业类型): 对于男性16-24:

Employment Type    White    Mixed/Multiple    Asian    African   Caribbean    Other
Part-time          93.27%      0.90%           4.48%     0%        0.45%        0.90%
Full-time          94.64%      0.89%           5.0%      0%         0.86%       1.79%

根据外部数据的百分比,我需要什么:

Age     Broad Age       Gender      Ethnicity    Employment Type
16-17   16-24       Male            White          Student
16-17   16-24       Male            White          Part-time
16-17   16-24       Male            Asian          Student
16-17   16-24       Male            Asian          Student
16-17   16-24       Male            Asian          Full-time
18-19   16-24       Male            White          Student
18-19   16-24       Male            White          Student
18-19   16-24       Male            White          Unemployed
18-19   16-24       Male            White          S-E:full-time
18-19   16-24       Male            White          Student

根据我从两个外部来源得知的分布,是否有办法填补第5栏(就业类型)?

1 个答案:

答案 0 :(得分:0)

我会添加一个新的专栏,将Age类分为Broad Age类,以便进行某些分析,无论如何都需要降低年龄分辨率,因为无法为Broad Age组增加它。所以Age' 16-17' 18-19',' 19-20',' 21-22',' 22-23'会在新列中添加标记' 16-24'与广泛年龄组相当。然后你可以使用merge来组合它们,例如

merge(dataset1,dataset2,by=c("new_age_group"),all.x=TRUE,incomparables=NA)

预先创建新列,使用类似

的内容
dataset1$new_age_group[dataset1$Age == '19-20'] <- '16-24'