• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Error in seq.default(a, b, c): ‘from‘ must be of length 1

武飞扬头像
Data+Science+Insight
帮助1

Error in seq.default(a, b, c): 'from' must be of length 1

目录

Error in seq.default(a, b, c): 'from' must be of length 1

问题:

解决:

完整错误:


问题:

  1.  
    fun <- function(a, b, c) {
  2.  
    sum(seq(a, b, c))
  3.  
    }
  4.  
     
  5.  
    df <- data.frame(mn = c(1, 2, 3),
  6.  
    mx = c(8, 13, 18),
  7.  
    rng = c(1, 2, 3))
  8.  
     
  9.  
    df %>%
  10.  
    mutate(output = fun(a = mn, b = mx, c = rng))

解决:

我们编写了一个自定义函数,需要将这个自定义函数应用于dataframe中的每一行数据;

mutate函数将根据值向量创建一个新变量。但是如果我们使用的函数不能接受向量,也不能输出向量,那么我们必须使用rowwise逐行操作。

我们可以在管道链中使用rowwise来告诉dplyr逐行执行以下所有命令。

其中自定义函数:对于从数a到数b,每2个数值间隔为c的等差数列,函数将计算该数列的和;

  1.  
    #
  2.  
     
  3.  
    fun <- function(a, b, c) {
  4.  
    sum(seq(a, b, c))
  5.  
    }
  6.  
     
  7.  
    df <- data.frame(mn = c(1, 2, 3),
  8.  
    mx = c(8, 13, 18),
  9.  
    rng = c(1, 2, 3))
  10.  
     
  11.  
    df %>%
  12.  
    rowwise %>%
  13.  
    mutate(output = fun(a = mn, b = mx, c = rng))
  14.  
    #> Source: local data frame [3 x 4]
  15.  
    #> Groups: <by row>
  16.  
    #>
  17.  
    #> # A tibble: 3 x 4
  18.  
    #> mn mx rng output
  19.  
    #> <dbl> <dbl> <dbl> <dbl>
  20.  
    #> 1 1 8 1 36
  21.  
    #> 2 2 13 2 42
  22.  
    #> 3 3 18 3 63
学新通

完整错误:

> fun <- function(a, b, c) {
    sum(seq(a, b, c))
}

> df <- data.frame(mn = c(1, 2, 3),
                 mx = c(8, 13, 18),
                 rng = c(1, 2, 3))

> df %>%
    mutate(output = fun(a = mn, b = mx, c = rng))
Error in `mutate()`:
! Problem while computing `output = fun(a = mn, b =
  mx, c = rng)`.
Caused by error in `seq.default()`:
! 'from' must be of length 1
Run `rlang::last_error()` to see where the error occurred.
Called from: signal_abort(cnd, .file)
Browse[1]> 

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggahgk
系列文章
更多 icon
同类精品
更多 icon
继续加载