【问题标题】:Subsetting using dplyr使用 dplyr 进行子集化
【发布时间】:2017-07-26 19:03:04
【问题描述】:

我有一个广泛的数据集,我想通过对每 50 个变量进行分组并将它们保存为单独的数据框来对其进行子集化,以便进一步分析。

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

有没有办法结合 purrr 和 dplyr 来循环整个数据集来实现这一点?

【问题讨论】:

标签: r dplyr purrr


【解决方案1】:

我们可以通过%/% 创建一个分组变量split 到'data.frame's 的list。

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))

【讨论】:

  • ceiling(sequence(NROW(df))/50) 也可以用作split 的分组因子
猜你喜欢
  • 1970-01-01
  • 2016-12-25
  • 1970-01-01
  • 1970-01-01
  • 2015-10-20
  • 1970-01-01
  • 2020-06-28
  • 2014-08-10
  • 1970-01-01
相关资源
最近更新 更多