使用 - FOR LOOP计算每组的平均值

时间:2018-01-22 15:33:43

标签: r for-loop factors levels

我有一个拥有超过1000个级别职业类型的数据集。 我想制作for循环到子集并计算每个职业的平均声望。

以下是数据集的一小部分示例" Prestige":

   education income women  prestige census type
   13.11     12351  11.16  68.8     1113   prof
   12.26     25879  4.02   69.1     1130   wc
   12.77     9271   15.70  63.4     1171   bc
   11.42     8865   9.11   56.8     1175   prof
   14.62     8403   11.68  73.5     2111   chemist

我已经启动了for循环,如下所示:

  for (row in 1:nrow(Prestige)) {
   type  <- Prestige[row, "type"]
    if(type == "prof") {
    meanProf <- mean(subset(Prestige,type=="prof")$prestige)}
    else if(type=="bc") { 
    meanBc <- mean(subset(Prestige,type=="bc")$prestige)}
    else if (type=="wc") { 
    meanWc <- mean(subset(Prestige,type=="wc")$prestige)}
    else if (type=="unknown"){
    meanUnknown <- mean(subset(Prestige,type=="chemist")$prestige)
} } 

因为我必须为1000个不同级别的职业(类型)创建子集并计算&#34;威望&#34;的平均值。对于每个子集,我的代码不起作用。

有没有办法创建一个循环,可以创建具有不同级别的子集并计算平均值&#34;声望&#34;对于每个子集?

0 个答案:

没有答案