我已经在这里学习了?合并和几个类似的线程,并且无法弄清楚为什么我的合并不起作用。我本周刚开始学习R,所以解决方案可能很简单。
我有两个数据框,我是从csv文件创建的:
> data.frame(`2000_MLB_SS`)
Name Team X1B X2B X3B HR BB SB CS AVG OBP SLG wRC. Fld WAR playerid
1 Nomar Garciaparra Red Sox 122 51 3 21 61 5 2 0.372 0.434 0.599 154 9 7.6 190
2 Alex Rodriguez Mariners 98 34 2 41 100 15 4 0.316 0.420 0.606 158 16 9.5 1274
3 Derek Jeter Yankees 151 31 4 15 68 22 4 0.339 0.416 0.481 133 -23 3.7 826
...
和
> data.frame(`2001_MLB_SS`)
Name Team X1B X2B X3B HR BB SB CS AVG OBP SLG wRC. Fld WAR playerid
1 Alex Rodriguez Rangers 114 34 1 52 75 18 3 0.318 0.399 0.622 159 -9 7.8 1274
2 Rich Aurilia Giants 127 37 5 37 47 1 3 0.324 0.369 0.572 144 5 7.1 1106
3 Derek Jeter Yankees 132 35 3 21 56 27 2 0.311 0.377 0.480 130 -17 4.2 826
...
这里的格式有点乱,但在两个数据框中,最后一列是playerid。
要通过playerid合并它们,我已尝试过:
MLB_SS_2001_2002 <- merge('2000_MLB_SS', '2001_MLB_SS', by = c('playerid'))
以及
MLB_SS_2001_2002 <- merge('2000_MLB_SS', '2001_MLB_SS', by.x = 'playerid', by.y = 'playerid')
和另外一个或两个变体,但我每次都得到相同的错误:fix.by(by.x,x)中的错误:&#39; by&#39;必须指定唯一有效的列。
这对我没有任何意义,因为两个数据框都有名为playerid的列。我设置了标题,以便数据框窗口中没有V1,V2等(请随时告诉我正确的术语)。
感谢您的帮助。