小编Moo*_*han的帖子

如何在 R / tidyverse 中使用管道函数的进度条

我有一个主要函数,它对某些数据执行一些各种复杂(且长时间运行)的计算,它使用 tidyverse / magrittr 中的管道执行这些步骤。我想要一个进度条来报告处理的阶段,但是,我不知所措。我查看了cliprogressprogressr软件包,从中我只能开始cli工作(从某种意义上说。

\n

这是一个最小的例子:

\n
library(tidyverse)\nlibrary(cli)\n\nmain_fun <- function() {\n  cli_progress_step(msg = "Running main function")\n  tibble(a = 1:5) %>% \n    fun1() %>% \n    fun2() %>% \n    fun3()\n}\n\nfun1 <- function(data) {\n  cli_progress_step(msg = "Doing sub function 1")\n  Sys.sleep(2)\n\n  return(data)\n}\nfun2 <- function(data) {\n  cli_progress_step(msg = "Doing sub function 2")\n  Sys.sleep(1)\n\n  return(data)\n}\nfun3 <- function(data) {\n  cli_progress_step(msg = "Doing sub function 3")\n  Sys.sleep(3)\n\n  return(data)\n}\n\nmain_fun()\n#> \xe2\x84\xb9 Running main function\n#> \xe2\x84\xb9 Doing sub function 3\n#> \xe2\x84\xb9 …
Run Code Online (Sandbox Code Playgroud)

r command-line-interface progress-bar magrittr tidyverse

6
推荐指数
1
解决办法
457
查看次数

生成一系列数字作为字符串Python

我需要使用结构化文件名循环遍历许多文件.

它们的形式为'Mar00.sav','Sep00.sav','Mar01.sav'

目前我这样做;

Years = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17']
Run Code Online (Sandbox Code Playgroud)

哪个有效,但我想知道是否有更好的方法?

我尝试了范围,但 str(range(00,17))会掉落前导零...

python loops

5
推荐指数
2
解决办法
7060
查看次数

在 R 中使用动态规划计算斐波那契

我尝试编写一个函数来计算 R 中的第 n 个斐波那契数。我可以递归地执行此操作。

fibonacci = function(n){
  if (n == 1) {return(1)}
  if (n == 2) {return(2)}

  return(fibonacci(n - 1) + fibonacci(n - 2))
}
Run Code Online (Sandbox Code Playgroud)

我在 R 中找不到任何示例,但是从其他语言的指南中我想出了以下内容。然而,它似乎并没有运行得更快。

fibonacci = function(n, lookup = NULL){
  if (is.null(lookup)) {
    lookup = integer(n + 1)
  }


  if (n == 1) {return(1)}
  if (n == 2) {return(2)}

  lookup[1] = 1
  lookup[2] = 2

  if (lookup[n - 1] == 0) {
    lookup[n - 1] = fibonacci(n - 1, lookup)
  }

  if (lookup[n - 2] …
Run Code Online (Sandbox Code Playgroud)

recursion r dynamic-programming fibonacci

1
推荐指数
1
解决办法
128
查看次数