我有一个广泛的数据集,我希望通过对每50个变量进行分组并将它们保存为单独的数据帧来进行进一步分析。
df1 <- df[,1:50]
df2 <- df[,51:100] etc
有没有办法将purrr和dplyr组合在一起遍历整个数据集来实现这个目标?
答案 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))