R для l oop или применяется для загрузки столбцов данных для расчета итогов - PullRequest
0 голосов
/ 14 апреля 2020

Проблема

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
> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...