fork download
  1.  
  2. set.seed(0)
  3. numRows <- 100
  4. age <- ceiling(100*runif(numRows))
  5. income <- ceiling(1e5*round(rlnorm(numRows),2))
  6. debtToIncome <- 10*runif(numRows)
  7. dataMatrix <- matrix(c(age,income,debtToIncome),
  8. nrow=numRows,
  9. ncol=3,
  10. byrow=FALSE,
  11. dimnames=list(1:numRows,c("age","income","debtToIncome"))
  12. )
  13.  
  14. cat("What the data looks like:\n")
  15. head(dataMatrix)
  16.  
  17. maxAge <- 60
  18. minAge <- 20
  19. maxIncome <- 3e5
  20. minIncome <- 2e4
  21. maxDTI <- 8
  22. minDTI <- 0
  23.  
  24. dataMatrix <- dataMatrix[(dataMatrix[,"age"]<=maxAge &
  25. dataMatrix[,"age"]>=minAge &
  26. dataMatrix[,"income"]<=maxIncome &
  27. dataMatrix[,"income"]>=minIncome &
  28. dataMatrix[,"debtToIncome"]<=maxDTI &
  29. dataMatrix[,"debtToIncome"]>=minDTI
  30. ),]
  31.  
  32. numRowsRemoved <- numRows-nrow(dataMatrix)
  33.  
  34. cat(numRowsRemoved, " rows were removed\n\n\n")
  35.  
  36. ## Original context:
  37.  
  38. cat("Original context:\n\n")
  39.  
  40. pd <- matrix(c(age,income,debtToIncome),
  41. nrow=numRows,
  42. ncol=3,
  43. byrow=FALSE,
  44. dimnames=list(1:numRows,c("age","income","debtToIncome"))
  45. )
  46.  
  47. cat("pd contains:\n")
  48. print(pd)
  49.  
  50. upper <- c(60,3e5,8)
  51. lower <- c(20,2e4,0)
  52.  
  53. # Something illogical going on with R replicating the vector ergo the transpose:
  54. pd <- pd [apply(t(pd)<=upper & t(pd)>=lower,2,all),]
  55.  
  56. a <- numRows-nrow(pd)
  57.  
  58. cat("\na is ",a,"\n\n")
  59.  
  60. cat("reduced pd:\n")
  61. print(pd)
Success #stdin #stdout 0.3s 22840KB
stdin
Standard input is empty
stdout
What the data looks like:
  age  income debtToIncome
1  90  130000    9.2925392
2  27   69000    6.7371223
3  38 1149000    0.9485786
4  58   45000    4.9259612
5  91   95000    4.6155184
6  21  128000    3.7521653
70  rows were removed


Original context:

pd contains:
    age  income debtToIncome
1    90  130000    9.2925392
2    27   69000    6.7371223
3    38 1149000    0.9485786
4    58   45000    4.9259612
5    91   95000    4.6155184
6    21  128000    3.7521653
7    90  186000    9.9109922
8    95   84000    1.7635071
9    67   11000    8.1343521
10   63   28001    0.6844664
11    7  143000    4.0044975
12   21   99000    1.4114433
13   18   39000    1.9330986
14   69   89000    8.4135172
15   39   44000    7.1991399
16   77  127000    2.6721208
17   50   24000    4.9500164
18   72  144000    0.8311390
19  100  128000    3.5388424
20   39  107000    9.6920881
21   78  102000    6.2471419
22   94  129000    6.6461825
23   22   52000    3.1248966
24   66   89000    4.0568961
25   13  194000    9.9607737
26   27  301000    8.5508236
27   39  115000    9.5354840
28    2   89000    8.1230509
29   39   40000    7.8218212
30   87   24000    2.6787813
31   35   45000    7.6215153
32   49  350000    9.8631159
33   60  216000    2.9360555
34   50   80000    3.9935111
35   19   65000    8.1213152
36   83   66000    0.7715167
37   67  271000    3.6369681
38   80   76000    4.4259247
39   11  351000    1.5671413
40   73  191000    5.8220527
41   42  367000    9.7016218
42   83   42000    9.8949983
43   65  101000    1.7645204
44   79   41000    5.4213042
45   56  182000    3.8430389
46   53  113000    6.7616405
47   79   75000    2.6929378
48    3  429000    4.6925094
49   48  126000    1.7180008
50   74  271000    3.6918946
51   70  219000    7.2540527
52   48   46000    4.8614910
53   87   54000    0.6380247
54   44  105000    7.8454623
55   25   32000    4.1832164
56    8  178000    9.8101808
57   10   28001    2.8288396
58   32  508000    8.4788215
59   52   61000    0.8223923
60   67  536000    8.8645875
61   41   66000    4.7193073
62   92   38000    1.0910096
63   30  103000    3.3327798
64   46  103000    8.3741657
65   34   19000    2.7684984
66   66  287000    5.8703514
67   26   33000    8.3673227
68   48  140000    0.7115402
69   77  164000    7.0277874
70    9  115000    6.9882454
71   88   89000    4.6396238
72   34  122000    4.3693111
73   84   34000    5.6217679
74   35   45000    9.2848323
75   34   33000    2.3046641
76   48  486001    2.2181375
77   90  447000    4.2021589
78   87  130000    3.3352081
79   39   29000    8.6480755
80   78  100000    1.7719454
81   97  453000    4.9331873
82   44   62000    4.2971337
83   72  222001    5.6426384
84   40   38000    6.5616232
85   33  199000    9.7855406
86   76   38000    2.3216115
87   21   29000    2.4081160
88   72   38000    7.9683608
89   13   42000    8.3167172
90   25   40000    1.1350771
91   15  210000    9.6331202
92   24  107000    1.4732290
93    6   72000    1.4362694
94   65   34000    9.2522994
95   88   36000    5.0703560
96   78   46000    1.5485102
97   80   33000    3.4830205
98   46   64000    6.5982103
99   42  160000    3.1177237
100  82   31000    3.5157341

a is  70 

reduced pd:
   age income debtToIncome
2   27  69000    6.7371223
4   58  45000    4.9259612
6   21 128000    3.7521653
12  21  99000    1.4114433
15  39  44000    7.1991399
17  50  24000    4.9500164
23  22  52000    3.1248966
29  39  40000    7.8218212
31  35  45000    7.6215153
33  60 216000    2.9360555
34  50  80000    3.9935111
45  56 182000    3.8430389
46  53 113000    6.7616405
49  48 126000    1.7180008
52  48  46000    4.8614910
54  44 105000    7.8454623
55  25  32000    4.1832164
59  52  61000    0.8223923
61  41  66000    4.7193073
63  30 103000    3.3327798
68  48 140000    0.7115402
72  34 122000    4.3693111
75  34  33000    2.3046641
82  44  62000    4.2971337
84  40  38000    6.5616232
87  21  29000    2.4081160
90  25  40000    1.1350771
92  24 107000    1.4732290
98  46  64000    6.5982103
99  42 160000    3.1177237