通过预选的数据子集在R中进行循环

为了对欧洲社会调查(ESS)进行分析,我试图计算出受教育程度高于其父母的被调查者所占的比例。我打算使用for循环进行计算。但是,我无法分别计算每个国家和地区的份额。数据框中的行是单个观察值(约400k),我有一行指示受访者的国家(cntry)和年份(ESSround)。我的代码看起来像这样

for (i in 1:nrow(ESS_cleann)) {


  ESS_cleann$abs_mobility[i] <- ESS_cleann[ESS_cleann[cntry]==i && ESS_cleann[essround]==i] length(ESS_cleann$educ_mobility[i] [ESS_clean$educ_mobility [i] == "U"])/ESS_cleann[ESS_cleann[cntry]==i&& ESS_cleann[essround]==i] length(ESS_cleann$educ_mobility[i]) 
}

我很清楚这是错误的,但是我无法告诉R分别计算每个国家和年份的R份额。帮助了很多!

评论