我想在這樣的數據幀進行極值調整:Winsorize數據框中
event_date beta_before beta_after
2000-05-05 1.2911707054 1.3215648954
1999-03-30 0.5089734305 0.4269575657
2000-05-05 0.5414700258 0.5326762272
2000-02-09 1.5491034852 1.2839988507
1999-03-30 1.9380674599 1.6169735009
1999-03-30 1.3109909155 1.4468207148
2000-05-05 1.2576420753 1.3659492507
1999-03-30 1.4393018341 0.7417777965
2000-05-05 0.2624037804 0.3860641307
2000-05-05 0.5532216441 0.2618245169
2000-02-08 2.6642931822 2.3815576738
2000-02-09 2.3007578964 2.2626960407
2001-08-14 3.2681270302 2.1611010935
2000-02-08 2.2509121123 2.9481325199
2000-09-20 0.6624503316 0.947935581
2006-09-26 0.6431111805 0.8745333151
通過極值調整我的意思是找到最大和最小的beta_before例如。應該用相同列中的第二高或第二低值替換該值,而不會丟失觀察中的其餘細節。例如。在這種情況下,在beta_before之前,最大值爲3.2681270302,應該由3.2681270302替換。 min和beta_after變量將遵循相同的過程。因此,每列只有2個值會發生變化,最高和最低,其餘部分保持不變。
有什麼建議嗎?我在plyr嘗試了不同的方法,但我最終取代了我不想做的整個觀察。我想創建2級新的變量,例如beta_before_winsorized和β_after_winsorized
這倒不決策意識。你之前和之後的最大值是相同的。我也對使用plyr感到困惑。你是否按日期進行某種類型的分組? Plyr是分裂,應用和組合的工具。我無法分辨你的分裂在這裏。 – 2011-06-03 16:59:57
@JD龍。這只是實際數據框的一個子集。實際的數據幀包含具有不同值的另一列。不同的「事件」由兩個變量的組合組成,因此,'plyr'對我來說很有用。我在描述中犯了一個錯誤,之前和之後的值都不一樣。感謝您的評論,並對此感到抱歉。 – ASC 2011-06-16 16:40:28