使用dplyr进行子集

时间:2017-07-26 19:03:05

标签: r dplyr purrr

我有一个广泛的数据集,我希望通过对每50个变量进行分组并将它们保存为单独的数据帧来进行进一步分析。

df1 <- df[,1:50]
df2 <- df[,51:100] etc

有没有办法将purrr和dplyr组合在一起遍历整个数据集来实现这个目标?

1 个答案:

答案 0 :(得分:1)

我们可以split通过%/%创建一个分组变量到list的data.frame&#39;

lst <-  split.default(df, (seq_len(ncol(df))-1) %/%50 + 1)

最好将数据集保留在list中,而不是在全局环境中创建多个对象。但是,如果我们需要它,一个选项是list2env

list2env(setNames(lst, paste0("df", seq_along(lst))), envir = .GlobalEnv)

数据

df <- as.data.frame(matrix(seq_len(1200), 10, 120))