使用 dplyr 进行子集化
Subsetting using dplyr
我有一个广泛的数据集,我想通过将每 50 个变量分组并将它们保存为单独的数据框来对其进行子集化,以便进行进一步分析。
df1 <- df[,1:50]
df2 <- df[,51:100] etc
有没有办法结合 purrr 和 dplyr 循环遍历整个数据集来实现这个?
我们可以 split
通过创建一个分组变量 %/%
到 list
of 'data.frame's.
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))
我有一个广泛的数据集,我想通过将每 50 个变量分组并将它们保存为单独的数据框来对其进行子集化,以便进行进一步分析。
df1 <- df[,1:50]
df2 <- df[,51:100] etc
有没有办法结合 purrr 和 dplyr 循环遍历整个数据集来实现这个?
我们可以 split
通过创建一个分组变量 %/%
到 list
of 'data.frame's.
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))