当我尝试调用install_github时,我收到以下错误(不仅是这个包,而是所有github包):
> install_github('ramnathv/slidify')
Downloading github repo ramnathv/slidify@master
Error in curl::curl_fetch_memory(url, handle = handle) :
Problem with the SSL CA cert (path? access rights?)
Run Code Online (Sandbox Code Playgroud)
但是,如果我直接使用RCurl来访问带有ssl的github,我不会遇到任何问题:
> x <- getBinaryURL(
url='https://github.com/ramnathv/slidify/archive/master.zip',
followlocation=1L
)
Run Code Online (Sandbox Code Playgroud)
无错误地工作,因此RCurl可以正确验证SSL证书并下载存档文件.
> sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 8 (jessie)
locale:
[1] LC_CTYPE=en_US.utf8 LC_NUMERIC=C
[3] LC_TIME=en_US.utf8 LC_COLLATE=en_US.utf8
[5] LC_MONETARY=en_US.utf8 LC_MESSAGES=en_US.utf8
[7] LC_PAPER=en_US.utf8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages: …Run Code Online (Sandbox Code Playgroud) 考虑以下:
library(tidyverse)
df <- tibble(x = rnorm(100), y = rnorm(100, 10, 2), z = x * y)
df %>%
mutate_all(funs(avg = mean(.), dev = sd(.), scaled = (. - mean(.)) / sd(.)))
Run Code Online (Sandbox Code Playgroud)
有没有办法通过引用和列来避免调用mean和sd两次.我想到的是类似的东西avgdev
df %>%
mutate_all(funs(avg = mean(.), dev = sd(.), scaled = (. - avg) / dev))
Run Code Online (Sandbox Code Playgroud)
显然,这是行不通的,因为没有列avg和dev,但是x_avg,x_dev,y_avg,y_dev,等.
有一个好办法,内部funs使用rlang的工具以编程方式创建这些列引用,这样我可以参考由以前命名的参数创建的列funs(当.是x,我将引用x_mean和 …