如何使用R中现有数据的残差生成数据?

时间:2017-03-26 16:01:09

标签: r matrix

我有一个包含6,000行和10列的矩阵。我想让这个矩阵有超过100,000行和10列。我可以通过迭代复制并粘贴6000行来实现这些结果。但是它不满足我的要求,因为它会在矩阵中产生许多相同的重复行。因此,我想让新生成的行具有残差,以便它们在我的矩阵中是很少重复的行。如何实现我的目标?任何帮助将不胜感激,我的矩阵看起来如下所示。

V1  V2  V3  V4  V5  V6  V7  V7  V9
2.2220905   2.301025386 0.054225142 4.756829682 0.334153343 600.0109311 50.43052459 0.072883515 0.113307282
2.236265714 2.313014446 0   4.763817419 0   599.8323571 50.48995542 0   0
2.207522656 2.284676693 0   4.757150483 0   598.7919413 50.45089305 0   0
2.229031201 2.352340119 0   4.761297773 0   599.8323571 50.41856725 0   0
2.217272673 2.289254332 0   4.757565228 0   599.653797  50.44810272 0   0
2.186521099 2.271597743 0   4.758754637 0   598.7981781 50.44642817 0   0
2.199993571 2.277265296 0   4.759200658 0   599.4803    50.45172978 0   0
2.198693698 2.276175379 0   4.75262764  0   600.0109311 50.45898435 0   0

1 个答案:

答案 0 :(得分:2)

您可以使用runif为数据添加小变体:

x <- matrix(1:100,ncol=10)
rbind(x,x+runif(100,min = -1, max = 1))

 [1,]  1.000000 11.0000 21.0000 31.0000 41.0000 51.0000 61.0000 71.0000 81.0000  91.0000
 [2,]  2.000000 12.0000 22.0000 32.0000 42.0000 52.0000 62.0000 72.0000 82.0000  92.0000
 [3,]  3.000000 13.0000 23.0000 33.0000 43.0000 53.0000 63.0000 73.0000 83.0000  93.0000
 [4,]  4.000000 14.0000 24.0000 34.0000 44.0000 54.0000 64.0000 74.0000 84.0000  94.0000
 [5,]  5.000000 15.0000 25.0000 35.0000 45.0000 55.0000 65.0000 75.0000 85.0000  95.0000
 [6,]  6.000000 16.0000 26.0000 36.0000 46.0000 56.0000 66.0000 76.0000 86.0000  96.0000
 [7,]  7.000000 17.0000 27.0000 37.0000 47.0000 57.0000 67.0000 77.0000 87.0000  97.0000
 [8,]  8.000000 18.0000 28.0000 38.0000 48.0000 58.0000 68.0000 78.0000 88.0000  98.0000
 [9,]  9.000000 19.0000 29.0000 39.0000 49.0000 59.0000 69.0000 79.0000 89.0000  99.0000
[10,] 10.000000 20.0000 30.0000 40.0000 50.0000 60.0000 70.0000 80.0000 90.0000 100.0000
[11,]  0.492024 11.5423 20.9987 30.7685 40.2591 51.5929 60.9163 71.5580 80.3786  91.4497
[12,]  1.316443 11.7162 21.0638 32.5324 41.3209 51.9635 61.6196 71.3303 82.0736  91.7983
[13,]  3.076443 12.9613 22.2088 33.1028 43.3016 53.6156 62.8742 73.3251 83.8263  92.8568
[14,]  3.730723 14.6023 24.5809 33.1215 44.9430 53.5754 64.6033 73.7833 84.4959  93.8304
[15,]  4.315171 14.6706 25.5077 35.0501 44.4283 54.8680 65.3649 75.5580 85.9963  95.1450
[16,]  5.206958 16.4521 25.3294 36.8763 46.7809 55.0829 65.8558 76.5779 85.2914  95.7127
[17,]  6.221394 16.7819 27.9710 36.9359 47.0472 57.1599 66.0205 76.9653 86.8937  97.8531
[18,]  7.792519 18.8315 27.3095 37.4447 47.1653 58.4975 68.6369 78.5616 88.4670  97.9888
[19,]  8.680029 19.7073 29.3911 38.9758 49.9359 59.2704 68.8576 78.5707 89.0825  99.4446
[20,] 10.156001 20.0567 29.1127 40.3027 49.2673 59.2314 69.1514 80.8227 90.2210  99.7938