为了创建更小的数据框

时间:2017-07-28 09:56:32

标签: r for-loop

我需要在搜索更大的数据框时创建数据框架

大数据框架:

 4 LW1001            NA    NA       <NA>       NA         test

 5 LW1001            NA    NA       <NA>       NA         test

      .

      .



 6 LW1002            NA    NA       <NA>       NA         test

 7 LW1002            NA    NA       <NA>       NA         test

 8 LW1002            NA    NA       <NA>       NA         test

 9 LW1003            NA    NA       <NA>       NA         test

我想要如下数据框:

 4 LW1001            NA    NA       <NA>       NA         test

 5 LW1001            NA    NA       <NA>       NA         test

 6 LW1001            NA    NA       <NA>       NA         test


 7 LW1001            NA    NA       <NA>       NA         test

 8 LW1001            NA    NA       <NA>       NA         test

 9 LW1001            NA    NA       <NA>       NA         test


for(i in ModulesWithMarks)
{


  i <- ModuleMarks[ModuleMarks$Module==i,]

}

我正在尝试上面,有没有人对此有任何想法? 是for循环错误还是有更好的方法?

第二列的

子集,for循环有效,但是,我没有创建数据帧。所以发生的事情是我在名为i的表中获取具有相同列的最后一行。 .....

所以它在for循环中处理它,但它没有以编程方式创建表.....我得到LWxxxx(结束数据帧)和它的名为i但我应该是获取LW1001数据帧,LW1002第二列中所有唯一值的数据帧。

1 个答案:

答案 0 :(得分:2)

我不确定我是不是应该但是如果我这样做,你想要通过第二列进行分组:

 df2 = df[df[,2]=="LW1001",]

为每个人循环,你会说:

   for(i in unique(df[,2])){assign(i,  df[df[,2]==i,])}

您不必循环,查看split