【发布时间】:2018-10-29 14:41:29
【问题描述】:
makeparts <- function(x, n) {
x <- unique(c(0, x))
x <- x[x >= 0 & x < n]
x <- x[order(x)]
x <- rep(c(seq_along(x)), diff(c(x, n)))
x
}
makeparts(c(20, 30, 58), 100)
如何使用 dplyr 重写这个函数?我在 tidyverse 中相当出色,但从未学习过 base R。我什至不知道上面的那个函数在做什么。如果我在 tidyverse 语法中看到它,我可以理解该函数(可能)。这是我的最终目标。
所有的 tidyverse 动词都有意义,但这个 [, x] [[df]] 东西没有。
【问题讨论】:
-
filter用于数据帧,您最好了解基本 R 函数,dplyr或tidyverse包的作用是补充基本函数,而不是替换它们,尽管它确实用近似的等效函数替换了一些函数。 -
@Moody_Mudskipper 渴望学习基础 R ,在 Vim、SQL、LaTeX、Linux 命令行等之上。但是很好的建议,尤其是对其他人。谢谢。
-
我知道这可能会让人不知所措,但请相信我,理解
[和[[是R的首选,无论是否整洁。 -
一个更广泛的建议:如果您不了解该函数,请通过一次添加一行来重建它,运行它,然后看看会发生什么