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
目录
Error in seq.default(a, b, c): 'from' must be of length 1
问题:
-
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))
解决:
我们编写了一个自定义函数,需要将这个自定义函数应用于dataframe中的每一行数据;
mutate函数将根据值向量创建一个新变量。但是如果我们使用的函数不能接受向量,也不能输出向量,那么我们必须使用rowwise逐行操作。
我们可以在管道链中使用rowwise来告诉dplyr逐行执行以下所有命令。
其中自定义函数:对于从数a到数b,每2个数值间隔为c的等差数列,函数将计算该数列的和;
-
#
-
-
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 %>%
-
rowwise %>%
-
mutate(output = fun(a = mn, b = mx, c = rng))
-
#> Source: local data frame [3 x 4]
-
#> Groups: <by row>
-
#>
-
#> # A tibble: 3 x 4
-
#> mn mx rng output
-
#> <dbl> <dbl> <dbl> <dbl>
-
#> 1 1 8 1 36
-
#> 2 2 13 2 42
-
#> 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
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01