Проблема
R: У меня есть следующий код, который должен вычислить сумму. Ноль - это результат с переменной [t]. Похоже, что это нормально для результата переменной [idx_good], которая фиксирует выбранный диапазон ОК. Ищите советы о том, как улучшить код R для вычислений [t <- (profit.sum - profit.sumtotal) /profit.sumtotal] </p>
R Effort
df_profit_selectgood <- as.data.frame(profit.selectgood[, c("creditQualifierRank", "amount", "totalPaid")])
idx_good <- which(as.character(df_profit_selectgood$creditQualifierRank)=="Good")
profit.selectgood <- df_profit_selectgood[idx_good,]
profit.sum <- sum(profit.selectgood$totapPaid - profit.selectgood$amount)
profit.sumtotal <- sum(loans_test_data$totalPaid - loans_test_data$amount)
t <- (profit.sum - profit.sumtotal)/profit.sumtotal
Образцы данных
> head(idx_good, 100)
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
[29] 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
[57] 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
[85] 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
>
> head(profit.selectgood,100)
creditQualifierRank amount totalPaid
2 Good 11000 12024.750
3 Good 20000 23827.229
9 Good 5600 6055.680
13 Good 16000 17054.130
14 Good 35000 38918.720
15 Good 17225 22426.675
33 Good 12000 13855.220
34 Good 9000 10081.540
36 Good 3850 4304.130
40 Good 7200 8734.045
50 Good 8500 9679.107
72 Good 2000 2515.731
83 Good 13475 16220.830
91 Good 22800 24027.340
93 Good 29975 39956.577
94 Good 16750 20617.360
96 Good 9000 10466.946
118 Good 10800 12101.260
120 Good 10000 12587.306
128 Good 12550 15720.390
133 Good 5600 6311.180
137 Good 10000 10727.882
166 Good 7500 7900.980
172 Good 15000 17143.803
173 Good 10000 10356.340
182 Good 12000 13517.359
184 Good 20000 21364.300
189 Good 25000 28314.362
192 Good 16000 18455.667
199 Good 16000 17651.172
225 Good 10000 12512.784
233 Good 12800 14418.528
247 Good 23075 25029.760
250 Good 9800 10774.388
256 Good 21000 25919.205
258 Good 10000 12014.247
260 Good 20000 24443.823
261 Good 12000 13235.613
262 Good 35000 41721.120
271 Good 16000 17457.730
275 Good 16000 19417.670
276 Good 14400 15641.500
285 Good 12000 14346.479
296 Good 15000 16917.120
304 Good 25000 27838.792
307 Good 9500 10218.602
311 Good 10000 10995.300
312 Good 35000 38791.400
315 Good 8400 9443.070
321 Good 8000 8120.785
322 Good 9725 10986.159
325 Good 31500 36333.910
328 Good 15000 17386.970
335 Good 19000 22820.026
339 Good 3000 3333.423
346 Good 8000 9428.644
353 Good 25000 26697.700
362 Good 16825 23642.519
369 Good 21600 24238.930
383 Good 35000 42003.200
389 Good 6000 6672.562
401 Good 2700 3189.524
402 Good 12000 12185.960
405 Good 10000 10299.590
410 Good 25200 32067.130
414 Good 7100 8496.830
425 Good 30000 37331.420
430 Good 28000 31664.673
431 Good 20000 21726.750
448 Good 11400 11813.930
450 Good 12000 14574.298
451 Good 5600 5964.710
452 Good 18225 25905.139
455 Good 24000 28975.072
469 Good 9600 10837.479
471 Good 6000 7269.630
472 Good 10000 11784.232
474 Good 4350 4725.900
480 Good 30000 31462.690
482 Good 8000 8529.710
487 Good 21000 24164.979
488 Good 17225 21655.060
489 Good 9600 10468.410
497 Good 21000 24192.996
509 Good 9000 9376.210
517 Good 30000 36431.419
523 Good 15000 18540.858
525 Good 20000 21877.350
532 Good 5000 5806.700
538 Good 20000 22417.417
539 Good 16000 20177.658
594 Good 8400 9728.500
610 Good 16000 19560.235
620 Good 20000 21976.226
644 Good 28000 33454.300
655 Good 20000 21693.420
666 Good 28000 30889.588
676 Good 10000 11564.400
678 Good 8400 10069.315
679 Good 35000 37928.590
>
> head(profit.selectgood$totalPaid, 100)
[1] 12024.750 23827.229 6055.680 17054.130 38918.720 22426.675 13855.220 10081.540 4304.130 8734.045 9679.107
[12] 2515.731 16220.830 24027.340 39956.577 20617.360 10466.946 12101.260 12587.306 15720.390 6311.180 10727.882
[23] 7900.980 17143.803 10356.340 13517.359 21364.300 28314.362 18455.667 17651.172 12512.784 14418.528 25029.760
[34] 10774.388 25919.205 12014.247 24443.823 13235.613 41721.120 17457.730 19417.670 15641.500 14346.479 16917.120
[45] 27838.792 10218.602 10995.300 38791.400 9443.070 8120.785 10986.159 36333.910 17386.970 22820.026 3333.423
[56] 9428.644 26697.700 23642.519 24238.930 42003.200 6672.562 3189.524 12185.960 10299.590 32067.130 8496.830
[67] 37331.420 31664.673 21726.750 11813.930 14574.298 5964.710 25905.139 28975.072 10837.479 7269.630 11784.232
[78] 4725.900 31462.690 8529.710 24164.979 21655.060 10468.410 24192.996 9376.210 36431.419 18540.858 21877.350
[89] 5806.700 22417.417 20177.658 9728.500 19560.235 21976.226 33454.300 21693.420 30889.588 11564.400 10069.315
[100] 37928.590
>