首页 > 解决方案 > 这个 Pmin() 函数如何对列进行索引?

问题描述

我很难为这篇文章找到一个好的标题,所以如果这不是最好的描述我在这里问的内容,我深表歉意。假设我有一个包含 50 列的数据框,我想将它分成 2 列,从而生成一个包含 25 个数据框的列表。

col_one  col_two  col_three  col_four  col_five ... col_fifty
1          1          1          1         1            1
2          2          2          2         2            2

我能够解决这个问题的一种方法是通过 map 函数和 pmin() 函数:

purrr::map(seq(1, ncol(data), by = 2), ~ data[.x:pmin((.x + 1), ncol(data))])

然而,我越想这个,我就越觉得我可以简单地删除 pmin() 函数并像这样执行相同的任务:

purrr::map(seq(1, ncol(data), by = 2), ~ data[, .x:.x+1])

这确实创建了 25 个 data.frames 的列表,但它只打印出一列而不是两列。

有人可以解释为什么吗?谢谢!

标签: r

解决方案


推荐阅读