我有一些数据要根据行
中的列进行排序看起来像这样:
Rk Player Pos Age Tm G MP PER TS. X3PAr
1 492 Tyler Zeller C 25 BOS 82 1731 18.9 0.594 0.000
2 491 Cody Zeller C 22 CHO 62 1487 14.1 0.530 0.003
3 490 Thaddeus Young PF 26 TOT 76 2434 15.7 0.507 0.119
4 490 Thaddeus Young PF 26 MIN 48 1605 15.0 0.491 0.101
5 490 Thaddeus Young PF 26 BRK 28 829 17.1 0.539 0.153
6 489 Nick Young SG 29 LAL 42 1000 14.2 0.520 0.473
我试图做的是,当我遍历行时,将行分配给以'Tm'(团队)值命名的数据帧。因此,在第一次迭代期间,如果它不存在,请创建名为BOS
的数据帧。下次看到Tm
列等于BOS
的行时,会将该行分配给数据框BOS
。
这是我到目前为止所做的:
for (i in 1:nrow(allPlayers)){
row <- allPlayers[i,]
teamName <- toString(allPlayers[i,'Tm'])
if(!exists(teamName)){
assign(teamName,data.frame())
}
assign(teamName,rbind(teamName,row))
}
但是,我在每个数据帧中获得的唯一值是该团队最后一次迭代的行。
我想要的是多个数据帧,所有他们的相应玩家都是这样的
BOS
492 Tyler Zeller C 25 BOS 82 1731 18.9 0.594 0
488 James Young SG 19 BOS 31 332 8.5 0.457 0.647
485 Brandan Wright PF 27 BOS 8 86 15 0.571 0
ATL
431 Jeff Teague PG 26 ATL 73 2228 20.6 0.566 0.233
404 Thabo Sefolosha SF 30 ATL 52 976 13.8 0.506 0.313
403 Mike Scott PF 26 ATL 68 1123 15.1 0.543 0.424
401 Dennis Schroder PG 21 ATL 77 1516 15.7 0.516 0.223