【问题标题】:use function that returns transformed data on grouped data in R使用函数返回 R 中分组数据的转换数据
【发布时间】:2016-01-06 15:27:48
【问题描述】:

我有一个包含多个组的大型数据集。我创建了一个函数,它返回没有任何异常值的数据。因此,如果您有 100 个观测值,它将用 NA 填充异常值,并返回 100 个观测值)

我有一个数据框,其中两列包含分组变量(例如男性/女性就业/失业)。第三列将包含需要删除异常值的实际数据(例如薪水)。

是否有一些我可以使用的函数返回一个数据框或矩阵,其中每个分组变量都删除了异常值。

类似:

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

欢迎所有建议!

【问题讨论】:

  • 您已经尝试过什么了吗?还是自己google?有几个非常流行的分组操作包,比如 data.table 和 dplyr。
  • 我通常使用apply,或者aggregate。然而,这些函数仅适用于返回诸如均值和标准偏差之类的东西。我不知道如何使用它以我想要的格式返回整个数据集。我会查找 dplyr 和 data.table 看看它是否可以工作

标签: r function transform grouping


【解决方案1】:

假设您的“myoutlierfunction”返回一个数据框,您可以像这样使用 dplyr:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-01
    • 2022-01-09
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多