Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
管道操作员%>;%R中的seq()函数出错_R_Dplyr_Pipe - Fatal编程技术网

管道操作员%>;%R中的seq()函数出错

管道操作员%>;%R中的seq()函数出错,r,dplyr,pipe,R,Dplyr,Pipe,我非常喜欢%%>%%操作符,它来自magrittr/dplyr,并尽可能使用它。但是,我在使用它连接到seq()函数时遇到了问题 举个简单的例子,假设我有一个变量x,我想创建一个从x-5到x+5的序列。我可以这样做: > x <- 10 > seq(from = x-5, to = x+5, by = 1) [1] 5 6 7 8 9 10 11 12 13 14 15 我可以按如下所示显式设置from参数,并且它也会给出相同的预期结果(10:15): 但在别人身

我非常喜欢
%%>%%
操作符,它来自
magrittr
/
dplyr
,并尽可能使用它。但是,我在使用它连接到
seq()
函数时遇到了问题

举个简单的例子,假设我有一个变量
x
,我想创建一个从
x-5
x+5
的序列。我可以这样做:

> x <- 10
> seq(from = x-5, to = x+5, by = 1)
 [1]  5  6  7  8  9 10 11 12 13 14 15
我可以按如下所示显式设置
from
参数,并且它也会给出相同的预期结果(
10:15
):

但在别人身上不起作用。。。 现在对上一个示例进行一些调整。我想尝试复制我的初始示例,并生成一个从
x-5
x+5
的序列。我希望我可以将
from
参数设置为
-5
,但这并没有给出预期的结果:

> x %>% seq(from = .-5, to = .+5)
[1]  5 15
看来
from
to
分别被正确设置为
5
15
。但是,
by
参数似乎已设置为
(即
10
),以给出意外结果
5 15
,而不是序列
5:15

我可以尝试通过参数显式设置
,但现在出现错误:

> x %>% seq(from = .-5, to = .+5, by = 1)
Error in seq.default(., from = . - 5, to = . + 5, by = 1) : 
  too many arguments
您可以看到它在这里做了什么,将
管道化到第一个参数,但是它还有我的三个显式参数要处理,以及错误结果

直到我想使用
from
参数中的
做一些算术之前,它一直工作得很好。


是否有一种方法可以实现我想做的事情,或者某些函数与
%%>%%
不完全兼容只是生活中的一个事实?

您可以阻止
%%
插入。在第一个参数中,用大括号包围右侧:

10 %>% { seq(from = .-5, to = .+5) }
## [1]  5  6  7  8  9 10 11 12 13 14 15

天哪,这么简单吗?!谢谢:)
> x %>% seq(from = .-5, to = .+5, by = 1)
Error in seq.default(., from = . - 5, to = . + 5, by = 1) : 
  too many arguments
10 %>% { seq(from = .-5, to = .+5) }
## [1]  5  6  7  8  9 10 11 12 13 14 15