从R中的分解数据帧获得列的简单函数

时间:2017-04-11 12:32:18

标签: r loops dataframe filter

我试图创建一个函数,首先根据给定因子(第二列)创建组,然后提供这些组的列方式。 我怎样才能创建一个新的数据框,只包括那些组的列方式?

这些命令单独工作,但我在创建新数据帧时遇到了使用正确语法的麻烦。

get_means <- function(df, factor){

    for (i in fixed_list){

    filter(df, factor == i) -> df_i
    colMeans(df_1[,-c(1:2)])
    rbind(df_i) -> means_df
   }

return (means_df)
}

1 个答案:

答案 0 :(得分:1)

我认为已有功能可用于执行您所描述的内容。例如......

df <- data.frame(factor = rep(letters[1:3], each = 3), y1 = rnorm(9), y2 = rnorm(9))

require(dplyr)
(result <- summarise(group_by(df, factor), meanY1 = mean(y1), meanY2 = mean(y2)))
data.frame(result)