Error+in+`map_dbl()`: +In+index:+1. Caused+by+error: !+Result+must+be+length+1,+not+0. Run+`rlan
时间: 2024-01-01 07:07:01 浏览: 89
dblclockfft:流水线式Verilog FFT内核的可配置C ++生成器
`map_dbl()`函数是`purrr`包中的一个函数,用于将一个函数应用于一个或多个向量,并返回一个双精度向量。根据提供的引用内容,出现了两种错误情况。
第一种错误是长度不一致导致的错误。当被映射的变量长度不同,`map_dbl()`函数会报错,提示"Mapped vectors must have consistent lengths"。这是因为`map_dbl()`函数要求被映射的向量长度必须一致。
第二种错误是结果长度为0导致的错误。当函数应用于向量时,如果结果的长度为0,`map_dbl()`函数会报错,提示"Result must be length 1, not 0"。这是因为`map_dbl()`函数期望结果的长度为1,而不是0。
以下是两种错误的示例代码:
1. 长度不一致导致的错误:
```R
x <- c(1, 2, 3, 4)
y <- c(8, 4)
map_dbl(x, y, ~ .x + .y) # 错误:Mapped vectors must have consistent lengths
```
2. 结果长度为0导致的错误:
```R
x <- c(1, 2, 3, 4)
y <- c(5, 6, 7, 8)
map_dbl(x, y, ~ ifelse(.x > .y, .x, .y)) # 错误:Result must be length 1, not 0
```
阅读全文