在特定数字后选择n行

时间:2015-06-06 08:00:34

标签: r selection rows

我使用像这样的data.frame:

       Country       Date balance_of_payment business_confidence_indicator consumer_confidence_indicator  CPI Crisis_IMF
1 Australia 1980-01-01              -0.87                       100.215                        99.780 25.4          0
2 Australia 1980-04-01              -1.62                       100.061                        99.746 26.2          0
3 Australia 1980-07-01              -3.70                       100.599                       100.049 26.6          0
4 Australia 1980-10-01              -3.13                       100.597                       100.735 27.2          0
5 Australia 1981-01-01              -2.73                       101.149                       101.016 27.8          0
6 Australia 1981-04-01              -4.11                       100.936                       100.150 28.4          0

我想在describe(dataset)包中使用Hmisc创建摘要统计信息。

我需要区分Crisis_IMF 1之前的四分之一时间段,Crisis_IMF为1的时间以及Crisis_IMF之后的状态n-quaters 1。 要选择Crisis_IMF1的时间,我做了describe(dataset[dataset$Crisis_IMF==1,"balance_of_payment"])

但我不知道如何在事件发生后的n个季度(例如8个)的时间跨度内发出命令。

编辑:

   dataset$Crisis_IMF
   [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  [60] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [119] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [178] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [237] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [296] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [355] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [414] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [473] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [532] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [591] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [650] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [709] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
 [768] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [827] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [886] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 [945] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1004] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1063] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1122] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1181] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1240] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1299] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1358] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1417] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1476] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
[1535] 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
[1594] 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1653] 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1712] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1771] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
[1830] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1889] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[1948] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2007] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2066] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[2125] 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
[2184] 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2243] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2302] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2361] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[2420] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2479] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2538] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2597] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2656] 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2715] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2774] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2833] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2892] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[2951] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3010] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3069] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3128] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3187] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3246] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3305] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3364] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3423] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3482] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3541] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3600] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3659] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3718] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3777] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3836] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[3895] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[3954] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
[4013] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[4072] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[4131] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[4190] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[4249] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[4308] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

EDIT2;有关数据集的更多信息:

             Country       Date balance_of_payment Crisis_IMF
1   Australia 1980-01-01              -0.87          0
2   Australia 1980-04-01              -1.62          0
3   Australia 1980-07-01              -3.70          0
4   Australia 1980-10-01              -3.13          0
5   Australia 1981-01-01              -2.73          0
6   Australia 1981-04-01              -4.11          0
7   Australia 1981-07-01              -3.98          0
8   Australia 1981-10-01              -5.27          0
9   Australia 1982-01-01              -5.31          0
10  Australia 1982-04-01              -4.67          0
11  Australia 1982-07-01              -3.30          0
12  Australia 1982-10-01              -3.24          0
13  Australia 1983-01-01              -3.45          0
14  Australia 1983-04-01              -2.86          0
15  Australia 1983-07-01              -3.58          0
...
137 Australia 2014-01-01              -2.18          0
138 Australia 2014-04-01              -3.44          0
139 Australia 2014-07-01              -3.04          0
140 Australia 2014-10-01              -2.39          0
141   Austria 1980-01-01              -3.97          0
142   Austria 1980-04-01              -3.89          0
143   Austria 1980-07-01              -1.84          0
144   Austria 1980-10-01              -1.60          0
145   Austria 1981-01-01              -2.74          0
146   Austria 1981-04-01              -2.88          0
147   Austria 1981-07-01              -2.83          0
148   Austria 1981-10-01              -2.06          0
149   Austria 1982-01-01              -0.63          0
150   Austria 1982-04-01               0.61          0
151   Austria 1982-07-01               2.42          0
152   Austria 1982-10-01               2.70          0

一个国家可能会有一个以上的危机时期。那就是来自澳大利亚的危机来自1990-01-01 to 1991-04-01 and 2002-01-01 to 2005-01-01。我想创建3个不同的describe命令,这些命令显示变量在上述状态中的行为。

1 个答案:

答案 0 :(得分:3)

您还没有提供完整的数据,因此我必须猜测您的Crisis_IMF列有一个完整的零序列(在危机前),然后是一个完整的序列(在此期间国际货币基金组织的危机被认为是有效的,最后是一连串的零(危机后)。

下面我已经合成了我自己的测试数据。我只合成了列Crisis_IMFbalance_of_payment,因为这些列似乎是与您的问题相关的唯一列。我使用了30行,前10个,前10个,危机后的最后10个。我对balance_of_payment使用了一种随机抛物线弧,但这完全是随机的。

library('Hmisc');
set.seed(1);
N <- 30;
df <- data.frame(balance_of_payment=-5+2*seq(-1.5,1.5,len=N)^2+rnorm(N,0,0.2), Crisis_IMF=c(rep(0,N/3),rep(1,N/3),rep(0,N/3)) );
df;
##    balance_of_payment Crisis_IMF
## 1          -0.6252908          0
## 2          -1.0625579          0
## 3          -1.8228927          0
## 4          -1.8503850          0
## 5          -2.5744076          0
## 6          -3.2324647          0
## 7          -3.3561408          0
## 8          -3.6484112          0
## 9          -3.9805631          0
## 10         -4.4136342          0
## 11         -4.2642312          1
## 12         -4.6598435          1
## 13         -4.9904788          1
## 14         -5.3947830          1
## 15         -4.7696630          1
## 16         -5.0036359          1
## 17         -4.9550811          1
## 18         -4.6774634          1
## 19         -4.5735679          1
## 20         -4.4478071          1
## 21         -4.1687610          0
## 22         -3.9392921          0
## 23         -3.7811631          0
## 24         -3.8514970          0
## 25         -2.9444058          0
## 26         -2.6515349          0
## 27         -2.2006002          0
## 28         -1.9499174          0
## 29         -1.1949166          0
## 30         -0.4164117          0
crisisRange <- range(which(df$Crisis_IMF==1));
crisisRange;
## [1] 11 20
df$Off_Crisis <- c((1-crisisRange[1]):-1,rep(0,diff(crisisRange)+1),1:(nrow(df)-crisisRange[2]));
df;
##    balance_of_payment Crisis_IMF Off_Crisis
## 1          -0.6252908          0        -10
## 2          -1.0625579          0         -9
## 3          -1.8228927          0         -8
## 4          -1.8503850          0         -7
## 5          -2.5744076          0         -6
## 6          -3.2324647          0         -5
## 7          -3.3561408          0         -4
## 8          -3.6484112          0         -3
## 9          -3.9805631          0         -2
## 10         -4.4136342          0         -1
## 11         -4.2642312          1          0
## 12         -4.6598435          1          0
## 13         -4.9904788          1          0
## 14         -5.3947830          1          0
## 15         -4.7696630          1          0
## 16         -5.0036359          1          0
## 17         -4.9550811          1          0
## 18         -4.6774634          1          0
## 19         -4.5735679          1          0
## 20         -4.4478071          1          0
## 21         -4.1687610          0          1
## 22         -3.9392921          0          2
## 23         -3.7811631          0          3
## 24         -3.8514970          0          4
## 25         -2.9444058          0          5
## 26         -2.6515349          0          6
## 27         -2.2006002          0          7
## 28         -1.9499174          0          8
## 29         -1.1949166          0          9
## 30         -0.4164117          0         10
n <- 8;
describe(df[df$Off_Crisis>=-n&df$Off_Crisis<=-1,'balance_of_payment']);
## df[df$Off_Crisis >= -n & df$Off_Crisis <= -1, "balance_of_payment"]
##       n missing  unique    Info    Mean
##       8       0       8       1   -3.11
##
## -4.41363415781177 (1, 12%), -3.98056311135777 (1, 12%), -3.64841115885525 (1, 12%), -3.35614082447269 (1, 12%), -3.23246466374394 (1, 12%), -2.57440760140387 (1, 12%), -1.85038498107066 (1, 12%), -1.82289266659616 (1, 12%)
describe(df[df$Off_Crisis==0,'balance_of_payment']);
## df[df$Off_Crisis == 0, "balance_of_payment"]
##       n missing  unique    Info    Mean     .05     .10     .25     .50     .75     .90     .95
##      10       0      10       1  -4.774  -5.219  -5.043  -4.982  -4.724  -4.595  -4.429  -4.347
##
## -5.39478302143074 (1, 10%), -5.00363594891363 (1, 10%), -4.99047879387293 (1, 10%), -4.95508109661503 (1, 10%), -4.76966304348196 (1, 10%), -4.67746343562751 (1, 10%), -4.65984348113626 (1, 10%), -4.57356788939893 (1, 10%), -4.44780713171369 (1, 10%), -4.26423116226702 (1, 10%)
describe(df[df$Off_Crisis>=1&df$Off_Crisis<=n,'balance_of_payment']);
## df[df$Off_Crisis >= 1 & df$Off_Crisis <= n, "balance_of_payment"]
##       n missing  unique    Info    Mean
##       8       0       8       1  -3.186
##
## -4.16876100605885 (1, 12%), -3.93929212154225 (1, 12%), -3.85149697413106 (1, 12%), -3.78116310320806 (1, 12%), -2.94440583734139 (1, 12%), -2.65153490367274 (1, 12%), -2.20060024283928 (1, 12%), -1.949917420894 (1, 12%)

该解决方案的工作原理是首先计算危机生效期间的索引范围crisisRange。然后它向data.frame附加一个新列Off_Crisis,它使用前面的负数和后面的正数来捕获偏离该行危机的四分之一,并假设每行恰好代表四分之一。< / p>

然后可以通过describe()列上的子集进行Off_Crisis次调用,只获得与每次通话所需的危机相对应的季度。

编辑:哇!这很难。很确定我得到了它:

library('Hmisc');
set.seed(1);
N <- 60;
df <- data.frame(balance_of_payment=rep(-5+2*seq(-1.5,1.5,len=N/2)^2,2)+rnorm(N,0,0.2), Crisis_IMF=c(rep(0,N/6),rep(1,N/6),rep(0,N/3),rep(1,N/6),rep(0,N/6)) );
df;
##    balance_of_payment Crisis_IMF
## 1          -0.6252908          0
## 2          -1.0625579          0
## 3          -1.8228927          0
## 4          -1.8503850          0
## 5          -2.5744076          0
## 6          -3.2324647          0
## 7          -3.3561408          0
## 8          -3.6484112          0
## 9          -3.9805631          0
## 10         -4.4136342          0
## 11         -4.2642312          1
## 12         -4.6598435          1
## 13         -4.9904788          1
## 14         -5.3947830          1
## 15         -4.7696630          1
## 16         -5.0036359          1
## 17         -4.9550811          1
## 18         -4.6774634          1
## 19         -4.5735679          1
## 20         -4.4478071          1
## 21         -4.1687610          0
## 22         -3.9392921          0
## 23         -3.7811631          0
## 24         -3.8514970          0
## 25         -2.9444058          0
## 26         -2.6515349          0
## 27         -2.2006002          0
## 28         -1.9499174          0
## 29         -1.1949166          0
## 30         -0.4164117          0
## 31         -0.2282641          0
## 32         -1.1198441          0
## 33         -1.5782326          0
## 34         -2.1802021          0
## 35         -2.9157211          0
## 36         -3.1513699          0
## 37         -3.5324846          0
## 38         -3.8079388          0
## 39         -3.8757143          0
## 40         -4.1999213          0
## 41         -4.5994921          1
## 42         -4.7884845          1
## 43         -4.7268380          1
## 44         -4.8405104          1
## 45         -5.1324004          1
## 46         -5.1361483          1
## 47         -4.8789267          1
## 48         -4.7125241          1
## 49         -4.7602814          1
## 50         -4.3903659          1
## 51         -4.2729353          0
## 52         -4.2181247          0
## 53         -3.7278522          0
## 54         -3.6794993          0
## 55         -2.7817662          0
## 56         -2.2442292          0
## 57         -2.2428854          0
## 58         -1.8645939          0
## 59         -0.9853426          0
## 60         -0.5270109          0
df$Off_Crisis <- ifelse(df$Crisis_IMF==1,0,with(rle(df$Crisis_IMF),{ mids <- lengths[-c(1,length(lengths))]; c(-lengths[1]:-1,sequence(mids)-rep(rbind(0,mids+1),rbind(ceiling(mids/2),floor(mids/2))),1:lengths[length(lengths)]); }));
df;
##    balance_of_payment Crisis_IMF Off_Crisis
## 1          -0.6252908          0        -10
## 2          -1.0625579          0         -9
## 3          -1.8228927          0         -8
## 4          -1.8503850          0         -7
## 5          -2.5744076          0         -6
## 6          -3.2324647          0         -5
## 7          -3.3561408          0         -4
## 8          -3.6484112          0         -3
## 9          -3.9805631          0         -2
## 10         -4.4136342          0         -1
## 11         -4.2642312          1          0
## 12         -4.6598435          1          0
## 13         -4.9904788          1          0
## 14         -5.3947830          1          0
## 15         -4.7696630          1          0
## 16         -5.0036359          1          0
## 17         -4.9550811          1          0
## 18         -4.6774634          1          0
## 19         -4.5735679          1          0
## 20         -4.4478071          1          0
## 21         -4.1687610          0          1
## 22         -3.9392921          0          2
## 23         -3.7811631          0          3
## 24         -3.8514970          0          4
## 25         -2.9444058          0          5
## 26         -2.6515349          0          6
## 27         -2.2006002          0          7
## 28         -1.9499174          0          8
## 29         -1.1949166          0          9
## 30         -0.4164117          0         10
## 31         -0.2282641          0        -10
## 32         -1.1198441          0         -9
## 33         -1.5782326          0         -8
## 34         -2.1802021          0         -7
## 35         -2.9157211          0         -6
## 36         -3.1513699          0         -5
## 37         -3.5324846          0         -4
## 38         -3.8079388          0         -3
## 39         -3.8757143          0         -2
## 40         -4.1999213          0         -1
## 41         -4.5994921          1          0
## 42         -4.7884845          1          0
## 43         -4.7268380          1          0
## 44         -4.8405104          1          0
## 45         -5.1324004          1          0
## 46         -5.1361483          1          0
## 47         -4.8789267          1          0
## 48         -4.7125241          1          0
## 49         -4.7602814          1          0
## 50         -4.3903659          1          0
## 51         -4.2729353          0          1
## 52         -4.2181247          0          2
## 53         -3.7278522          0          3
## 54         -3.6794993          0          4
## 55         -2.7817662          0          5
## 56         -2.2442292          0          6
## 57         -2.2428854          0          7
## 58         -1.8645939          0          8
## 59         -0.9853426          0          9
## 60         -0.5270109          0         10
n <- 8;
describe(df[df$Off_Crisis>=-n&df$Off_Crisis<=-1,'balance_of_payment']);
## df[df$Off_Crisis >= -n & df$Off_Crisis <= -1, "balance_of_payment"]
##       n missing  unique    Info    Mean     .05     .10     .25     .50     .75     .90     .95
##      16       0      16       1  -3.133  -4.253  -4.090  -3.825  -3.294  -2.476  -1.837  -1.762
##
## -4.41363415781177 (1, 6%), -4.19992133068899 (1, 6%), -3.98056311135777 (1, 6%), -3.87571430729169 (1, 6%), -3.80793877922333 (1, 6%), -3.64841115885525 (1, 6%)
## -3.53248462570045 (1, 6%), -3.35614082447269 (1, 6%), -3.23246466374394 (1, 6%), -3.15136989958027 (1, 6%), -2.91572106713267 (1, 6%), -2.57440760140387 (1, 6%)
## -2.1802021496148 (1, 6%), -1.85038498107066 (1, 6%), -1.82289266659616 (1, 6%), -1.57823262180228 (1, 6%)
describe(df[df$Off_Crisis==0,'balance_of_payment']);
## df[df$Off_Crisis == 0, "balance_of_payment"]
##       n missing  unique    Info    Mean     .05     .10     .25     .50     .75     .90     .95
##      20       0      20       1  -4.785  -5.149  -5.133  -4.964  -4.765  -4.645  -4.442  -4.384
##
## lowest : -5.395 -5.136 -5.132 -5.004 -4.990, highest: -4.599 -4.574 -4.448 -4.390 -4.264
describe(df[df$Off_Crisis>=1&df$Off_Crisis<=n,'balance_of_payment']);
## df[df$Off_Crisis >= 1 & df$Off_Crisis <= n, "balance_of_payment"]
##       n missing  unique    Info    Mean     .05     .10     .25     .50     .75     .90     .95
##      16       0      16       1  -3.157  -4.232  -4.193  -3.873  -3.312  -2.244  -2.075  -1.929
##
## -4.27293530430708 (1, 6%), -4.21812466033862 (1, 6%), -4.16876100605885 (1, 6%), -3.93929212154225 (1, 6%), -3.85149697413106 (1, 6%), -3.78116310320806 (1, 6%)
## -3.72785216159621 (1, 6%), -3.67949925417454 (1, 6%), -2.94440583734139 (1, 6%), -2.78176624658013 (1, 6%), -2.65153490367274 (1, 6%), -2.24422917606577 (1, 6%)
## -2.24288543679152 (1, 6%), -2.20060024283928 (1, 6%), -1.949917420894 (1, 6%), -1.86459386937746 (1, 6%)

对于这个演示,我综合了五个时期:10行非危机,10行危机(第一行),20行非危机,10行危机(第二行)和10行非危机。算法是相同的,即计算Off_Crisis列(这次更加困难!)然后使用它来为每个describe()调用的data.frame进行子集化。只有现在,来自不同危机的数据点才会合并到子集中。