我有一個函數,其中x是0和1之間:如何使用鏈運算符在R中自行計算?
如何使用連鎖經營%>%
從dplyr
包做呢?
我試過如下:
x = 0.5
y <- (x-1)^2 %>% 1-. %>% sqrt()
但這是錯誤的!我怎樣才能找到一個連鎖經營者自己做計算的方法?我在這裏只是一個小例子。我有一個很長的等式,並希望鏈代碼使得代碼可讀。
我有一個函數,其中x是0和1之間:如何使用鏈運算符在R中自行計算?
如何使用連鎖經營%>%
從dplyr
包做呢?
我試過如下:
x = 0.5
y <- (x-1)^2 %>% 1-. %>% sqrt()
但這是錯誤的!我怎樣才能找到一個連鎖經營者自己做計算的方法?我在這裏只是一個小例子。我有一個很長的等式,並希望鏈代碼使得代碼可讀。
促進我一個答案評論爲OP似乎同意(並在此過程中除去虛假)
):
computeY <- function(x) { sqrt(1-(x-1)^2) }
其在提示符下工作,以及:
R> computeY <- function(x) { sqrt(1-(x-1)^2) }
R> sapply((1:5)/10, computeY)
[1] 0.435890 0.600000 0.714143 0.800000 0.866025
R>
免責聲明:在這個答案的生產中沒有管道受到傷害。
'computeY((1:5)/ 10)'在這種情況下(而不是'sapply')起作用。 – Frank
Doh。好點子。我寫了要被矢量化的函數。 –
使用magrittr的鏈運算符。 '(x-1)^ 2%>%{sqrt(1-。)}'https://cran.r-project.org/web/packages/magrittr/vignettes/magrittr.html – Frank
@Frank,謝謝! {}是解決方案! (2) – xirururu
'computeY < - function(x){sqrt(1-(x-1)^ 2))}' –