% 在 R 中获取左侧本身?-6ren"> % 在 R 中获取左侧本身?-这个问题在这里已经有了答案: Use pipe without feeding first argument (1 个回答) 4年前关闭。 包“dplyr”有一个链操作符。但是我对如何获得正确的术语本-6ren">
gpt4 book ai didi

r - 如何使用 "dplyr"链运算符 %>% 在 R 中获取左侧本身?

转载 作者:行者123 更新时间:2023-12-03 21:37:10 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Use pipe without feeding first argument

(1 个回答)


4年前关闭。




包“dplyr”有一个链操作符。但是我对如何获得正确的术语本身有疑问。

例如:

c(5,7,8,1) %>% sum(`[`(1:3)) # get result 27 (This is wrong)

c(5,7,8,1) %>% sum(.[1:3]) # get result 41 (This is also wrong)

c(5,7,8,1) %>% `[`(1:3) %>% sum() # get result 20 (This is right)

为什么第一行和第二行代码错误?他们身上发生了什么?

最佳答案

.是正确的。然而,%>%还将其作为第一个参数插入:

x = c(5,7,8,1)
x %>% sum(.[1 : 3])

是相同的:
sum(x, x[1 : 3])

您可以通过将表达式括在大括号中来明确防止这种行为:
x %>% {sum(.[1 : 3])}

但是,此时最好将管道分开一点(正如您自己所做的那样):
x %>% `[`(1 : 3) %>% sum()

或者,使用 magrittr 辅助函数(需要 library(magrittr)):
x %>% extract(1 : 3) %>% sum()

关于r - 如何使用 "dplyr"链运算符 %>% 在 R 中获取左侧本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33433653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com