r - 在R中将数据帧拆分为n组数据帧的功能

标签 r

我正在尝试编写一个函数,它接受一个数据框并将其拆分为多个数据框,每个指定的列数。 例如,如果有一个看起来像这样的数据框:

df <- data.frame(
x1 = rnorm(1000),
x2 = rnorm(1000),
x3 = rnorm(1000),
x4 = rnorm(1000),
x5 = rnorm(1000),
x6 = rnorm(1000)
)

我想将它拆分,比如说,每隔一列,并将其保存为它自己的数据框。 所以伪代码看起来像这样:

function(df){
split df every second column
save each group as it's own unique data frame (named A-C for this example)
}

最终结果意味着我有 3 个数据框,其中数据框 A 有两列(即 x1、x2),类似地 B 有两列(x3、x4),C 有两列(x5、x6)。

关于我如何实现这一点有什么建议吗?

最佳答案

我们可以使用 split.default 将两列拆分成一个 list

lst1 <- split.default(df, LETTERS[as.integer(gl(ncol(df), 2, ncol(df)))])

然后用write.csv保存数据集

lapply(names(lst1), function(x) write.csv(lst1[[x]], paste0(x, ".csv")))

关于r - 在R中将数据帧拆分为n组数据帧的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59131111/

相关文章:

python - 可以像普通 R 代码一样从 knitr block 将 Python 代码发送到 RStudio 控制台吗?

r - 数据框中变量之间的快速成对简单线性回归

r - 如何最大限度地利用 R 中的 Tensorflow 2.0(使用 Keras 库)的 GPU 使用率?

r - append 到 R 中的列表会导致复制吗?

r - 满足条件时如何重复序列

r - 为什么无法访问我的数据框中的列

r - 无需迭代即可汇总多个变量

r - 如何用相邻值替换数据帧中的NA(丢失值)

r - 通过 vector 分配多个列而不回收

r - tidyverse r 中的虚拟代码分类/序数变量