2016-01-06 51 views
0

我有一個包含多個組的大型數據集。我創建了一個函數,可以返回沒有任何異常值的數據。因此,如果你有100個觀測值,它會填充NA的異常值,並將100個觀測值返回)。使用函數返回R中分組數據的轉換數據

我有一個包含兩列的分組變量(例如男性/女性就業/失業)的數據框。第三列將有實際的數據需要去除異常值(例如工資)。

是否有一些我可以使用的函數,返回一個數據框或矩陣,每個分組變量刪除異常值。

類似:

data.without.outlier <- function.unknown(data, by=list(data[,"employment"],data[,"sex"]), FUN = (my outlier function)) 

所有建議都歡迎!

+0

任何你已經嘗試過?或者Google自己搜索?有幾個非常流行的分組操作包,如data.table和dplyr。 – Heroka

+0

我通常使用apply或aggregate。然而,這些功能只適用於返回像平均值和標準偏差之類的東西。我不知道如何使用它以我想要的格式返回整個數據集。我會查找dplyr和data.table,看看它是否會起作用 – user3864684

回答

0

假設你的「myoutlierfunction」返回一個數據幀時,您可以使用dplyr像這樣:

library(dplyr) 
data.without.outlier = data %>% 
    group_by(employment, sex) %>% 
    do(myoutlierfunction)