首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用dplyr管道命令进行数值计算

使用dplyr管道命令进行数值计算
EN

Stack Overflow用户
提问于 2017-10-19 18:02:44
回答 2查看 242关注 0票数 0

是否可以使用来自dplyr包的管道来进行数值计算?一个简单的例子是:

代码语言:javascript
运行
复制
    0.15 %>% 3.8416 * (.*(1-.))/(0.03^2)  #does not work
    seq(1,10,1) %>% log(.) %>% .^2        #works

更多地了解管道是如何工作的,以及什么时候可以和不能使用管道。我真的很喜欢使用管道特性,并希望找到一种方法来使用它来进行这些类型的数值计算。

非常感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-19 18:08:02

您有一个运算符优先问题。它试着从做

代码语言:javascript
运行
复制
0.15 %>% 3.8416

这没道理。您需要将所有计算分组在一个代码块中。

代码语言:javascript
运行
复制
0.15 %>% {3.8416 * (.*(1-.))/(0.03^2)}
票数 5
EN

Stack Overflow用户

发布于 2017-10-19 18:19:49

所有这些都是等价的,第一个需要magrittrdplyr足够用于下一个2:

代码语言:javascript
运行
复制
library(magrittr)
0.15 %>% multiply_by(subtract(1,.)) %>% multiply_by(3.8416) %>% divide_by(0.03^2)
0.15 %>% `*`(`-`(1,.)) %>% `*`(3.8416) %>% `/`(0.03^2)
0.15 %>% {3.8416 * (.*(1-.))/(0.03^2)}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46836185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档