Primarily affects initial.elos, which isn't deep-copied.
> library(elo)
> set.seed(99)
> dat <- data.frame(A = paste0("Team ", sample(1:200, size = 1e4, replace = TRUE)),
+ B = paste0("Team ", sample(1:200, size = 1e4, replace = TRUE)),
+ A.wins = sample(0:1, size = 1e4, replace = TRUE))
> dat <- dat[dat$A != dat$B, ]
> dim(dat)
[1] 9945 3
> elo.run(A.wins ~ A + B, data = dat, k = 20)$initial.elos
Team 1 Team 10 Team 100 Team 101 Team 102 Team 103 Team 104 Team 105 Team 106 Team 107 Team 108 Team 109 Team 11 Team 110 Team 111
1472.098 1505.559 1520.688 1481.828 1416.063 1482.528 1503.103 1445.576 1444.130 1493.314 1506.111 1531.082 1533.047 1527.494 1579.731
Team 112 Team 113 Team 114 Team 115 Team 116 Team 117 Team 118 Team 119 Team 12 Team 120 Team 121 Team 122 Team 123 Team 124 Team 125
1527.395 1523.597 1578.123 1528.501 1475.993 1475.730 1568.259 1475.567 1488.854 1589.015 1501.911 1517.984 1438.716 1448.938 1526.779
Team 126 Team 127 Team 128 Team 129 Team 13 Team 130 Team 131 Team 132 Team 133 Team 134 Team 135 Team 136 Team 137 Team 138 Team 139
1570.446 1470.805 1502.065 1461.459 1583.390 1537.304 1448.373 1486.042 1526.278 1481.886 1514.819 1515.872 1474.411 1531.972 1493.649
Team 14 Team 140 Team 141 Team 142 Team 143 Team 144 Team 145 Team 146 Team 147 Team 148 Team 149 Team 15 Team 150 Team 151 Team 152
1559.556 1552.506 1605.439 1526.055 1495.886 1484.455 1521.292 1571.528 1449.751 1504.723 1537.373 1497.489 1553.836 1509.914 1601.080
Team 153 Team 154 Team 155 Team 156 Team 157 Team 158 Team 159 Team 16 Team 160 Team 161 Team 162 Team 163 Team 164 Team 165 Team 166
1506.776 1469.832 1529.241 1589.426 1481.059 1588.003 1432.693 1449.996 1470.980 1504.311 1485.931 1572.666 1465.706 1500.861 1447.580
Team 167 Team 168 Team 169 Team 17 Team 170 Team 171 Team 172 Team 173 Team 174 Team 175 Team 176 Team 177 Team 178 Team 179 Team 18
1576.923 1492.189 1480.075 1523.274 1458.480 1558.134 1511.874 1503.440 1429.839 1460.582 1528.756 1504.382 1517.005 1540.731 1509.286
Team 180 Team 181 Team 182 Team 183 Team 184 Team 185 Team 186 Team 187 Team 188 Team 189 Team 19 Team 190 Team 191 Team 192 Team 193
1532.696 1503.034 1506.896 1517.933 1495.702 1489.134 1503.945 1471.792 1433.364 1514.010 1472.579 1529.614 1423.777 1497.048 1505.465
Team 194 Team 195 Team 196 Team 197 Team 198 Team 199 Team 2 Team 20 Team 200 Team 21 Team 22 Team 23 Team 24 Team 25 Team 26
1590.891 1502.275 1472.897 1475.338 1527.898 1485.214 1516.186 1550.531 1516.486 1520.263 1481.953 1504.258 1470.138 1541.798 1494.397
Team 27 Team 28 Team 29 Team 3 Team 30 Team 31 Team 32 Team 33 Team 34 Team 35 Team 36 Team 37 Team 38 Team 39 Team 4
1528.073 1470.953 1462.666 1484.071 1491.981 1501.815 1502.211 1527.622 1540.884 1432.245 1499.994 1511.465 1506.335 1472.974 1517.896
Team 40 Team 41 Team 42 Team 43 Team 44 Team 45 Team 46 Team 47 Team 48 Team 49 Team 5 Team 50 Team 51 Team 52 Team 53
1506.232 1481.432 1503.197 1475.739 1475.969 1565.220 1489.827 1445.823 1512.652 1487.446 1522.529 1524.649 1473.864 1554.924 1475.301
Team 54 Team 55 Team 56 Team 57 Team 58 Team 59 Team 6 Team 60 Team 61 Team 62 Team 63 Team 64 Team 65 Team 66 Team 67
1502.313 1469.466 1457.076 1528.446 1489.478 1493.624 1442.457 1518.498 1490.755 1417.195 1506.851 1510.959 1516.422 1449.691 1459.706
Team 68 Team 69 Team 7 Team 70 Team 71 Team 72 Team 73 Team 74 Team 75 Team 76 Team 77 Team 78 Team 79 Team 8 Team 80
1547.983 1435.789 1418.150 1524.391 1461.046 1465.066 1446.048 1501.532 1516.791 1480.112 1493.580 1436.665 1522.865 1481.346 1488.925
Team 81 Team 82 Team 83 Team 84 Team 85 Team 86 Team 87 Team 88 Team 89 Team 9 Team 90 Team 91 Team 92 Team 93 Team 94
1478.496 1515.349 1472.637 1479.423 1441.339 1589.236 1555.641 1456.813 1502.588 1425.033 1464.977 1437.403 1499.269 1547.252 1510.186
Team 95 Team 96 Team 97 Team 98 Team 99
1409.630 1431.065 1515.232 1549.320 1484.986
> r <- final.elos(elo.run(A.wins ~ A + B, data = dat, k = 20))
> all(r == elo.run(A.wins ~ A + B, data = dat, k = 20)$initial.elos)
Primarily affects initial.elos, which isn't deep-copied.