小编Roc*_*nce的帖子

R:如何创建函数向量?

我想使用两个agruments函数'func'创建一个函数向量,例如这个:

func = function(number, coefficient) {  
    return(coefficient*number)  
}
Run Code Online (Sandbox Code Playgroud)

这是我如何创建函数向量:

vector_of_functions = NULL  
for (i in 1:4) {  
vector_of_functions = c(vector_of_functions,
    function(number) func(number=number, coefficient=i))  
}
Run Code Online (Sandbox Code Playgroud)

我的问题是组成我的矢量的所有函数都是相同的,即使它们是通过循环使用不同的i创建的.它接缝使用i的最后一个值(这是一个全局变量)进行评估.

有人有想法吗?

谢谢

r

6
推荐指数
1
解决办法
3571
查看次数

R正在运行时更新R包

我正在考虑使用R软件包的共享库来安装R的站点.几台计算机将访问此库,以便每个人共享相同的设置.

问题是我注意到有时你无法更新软件包,因为另一个R实例正在锁定库.我不能要求所有人关闭它的R实例,因为有时会有很长的模拟.

是否有一组R软件包的站点安装的最佳实践,是否有办法使R以只读模式访问其库?

packages r

6
推荐指数
1
解决办法
324
查看次数

在特定命名空间中定义函数

我创建了一个包'mypackage'(附带了一个命名空间'mypackage')在这个包中有一个我可以调用的函数

'myfunction'
Run Code Online (Sandbox Code Playgroud)

要么

'mypackage::myfunction'
Run Code Online (Sandbox Code Playgroud)

现在我想用另一个版本替换myfunction(更新).

我曾经做过

source(path)
Run Code Online (Sandbox Code Playgroud)

其中path是文件的路径,其中定义了更新的"myfunction"

现在我转到R 2.14.x并且这个系统不起作用,因为显然R首先检查同一命名空间内是否有一个函数,如果有一个,它使用这个而不是其他.

我的问题:如何将更新的函数推送到与包中相同的命名空间?

namespaces r

6
推荐指数
1
解决办法
2160
查看次数

如何获取R中具有公共S4超类的类列表

在R中,我如何获得S4超类的子类列表?

我找到了showClass("mySuperClass",complete = FALSE),但它只打印结果.我想将它存储在矢量中以使用它.

r subclass superclass s4

6
推荐指数
1
解决办法
462
查看次数

R pdf设定保证金

我试图设置用R生成的pdf的数字余量.使用mar,我可以减少绘图边距.然而,结果图仍然是页面中间的正方形,而不是使用所有空间.我怎么能改变呢?

pdf(file = "test.pdf", paper="a4r")
par(mar=c(0,0,0,0)+0.1)
plot(1:10,1:10)
dev.off()
Run Code Online (Sandbox Code Playgroud)

谢谢!

在此输入图像描述

pdf plot r margin

6
推荐指数
1
解决办法
6631
查看次数

用于 SQL 服务器的 DBI 或 odbc 包

我们正在远离 RODBC,它似乎具有有限的错误处理系统(有时即使出现错误也会查询通过,并且无法获取错误消息。我们已经尝试了所有 RODBC 功能)

但是似乎有 2 个类似的包:odbc 和 DBI,有人可以解释一下两者之间的区别吗?两者似乎都运作良好。

odbc r r-dbi

6
推荐指数
1
解决办法
3102
查看次数

代理背后的RSelenium

我正在尝试使用 RSelenium。这是我在做什么:

library(RSelenium)  
driver<- rsDriver(browser=c("chrome"))
remDr <- driver[["client"]]
remDr$open()
Run Code Online (Sandbox Code Playgroud)

返回
$id
[1] 不适用

remDr$navigate("http://www.google.com")
Run Code Online (Sandbox Code Playgroud)

(返回 NULL)

remDr$getCurrentUrl()
Run Code Online (Sandbox Code Playgroud)

返回空列表

我认为这个令人失望的结果可能是因为我支持公司代理。

如何将 http 代理传递给 selenium 浏览器?

谢谢

proxy selenium r http-proxy

6
推荐指数
1
解决办法
1934
查看次数

conda 环境中缺少 /bin 文件夹

我使用以下命令创建了 conda 环境:

conda create -p D:\batch\tasks\shared\test-condaenv-users python=3.7 pip -y
Run Code Online (Sandbox Code Playgroud)

但注意到当我激活环境然后尝试 pip install 一个新包时,我得到了 Access Denied (就好像它试图安装在 ProgramData 中而不是安装在环境中一样)

然后我注意到/bin/文件夹​​丢失了(请参阅文档,明确指出 conda 环境中应该有一个 bin 文件夹)。知道为什么吗?

编辑:我where pip 在激活环境之前也尝试过,它给出了

C:\Anaconda3\Scripts\pip.exe
Run Code Online (Sandbox Code Playgroud)

激活环境后,它给出(按此顺序)

D:\batch\tasks\shared\test-condaenv-users\Scripts\pip.exe
C:\Anaconda3\Scripts\pip.exe
Run Code Online (Sandbox Code Playgroud)

环境信息

conda info

     active environment : D:\batch\tasks\shared\test-condaenv-users
    active env location : D:\batch\tasks\shared\test-condaenv-users
            shell level : 1
       user config file : D:\Users\_azbatchtask_14\.condarc
 populated config files : 
          conda version : 4.6.11
    conda-build version : 3.17.8
         python version : 3.7.3.final.0
       base environment : C:\Anaconda3 …
Run Code Online (Sandbox Code Playgroud)

python pip virtualenv anaconda

6
推荐指数
1
解决办法
6250
查看次数

How to use submenu in rmarkdown navbar?

I am trying to create a submenu in rmarkdown navbar

here is my _site.yml

name: Test dashboard
navbar:
  title: Test dashboard
  left:
  - text: by Commo (intake)
    menu:
    - text: "Menu"
      href: index.html
    - text: "SubMenu"
      menu:
      - text: "Item1"
      - href: index2.html 
      - text: "Item2"
      - href: index3.html 
output:
  html_document:
    include:
      after_body: footer.html
    css: styles.css
    source_code: embed
    lib_dir: site_libs
    mathjax: null
    self_contained: false
output_dir: _site
Run Code Online (Sandbox Code Playgroud)

However for whatever reason the links of the submenu are not displayed properly. THey …

r navbar r-markdown

6
推荐指数
1
解决办法
292
查看次数

在 Windows 上为多个用户共享 condaenv

当前的意外行为

我们有一台有多个(自动)用户的计算机。(在 Microsoft Azure 上)。
如果我们尝试pip install在由其他用户创建的 conda 环境中使用,我们会收到“访问被拒绝”错误。

重现步骤

我们已经使用以下命令以管理员身份安装了 anaconda:

C:\Windows\Temp\Anaconda3.exe /InstallationType=AllUsers /AddToPath=1 /RegisterPython=1 /S
Run Code Online (Sandbox Code Playgroud)

如果我使用一个用户创建一个 condaenv,比如说_azbatchtask_20,我们就可以激活它,在里面安装包,然后停用它:

conda create -p D:\batch\tasks\shared\test-condaenv-users python=3.7 -y
conda activate D:\batch\tasks\shared\test-condaenv-users
pip install see
deactivate
Run Code Online (Sandbox Code Playgroud)

但是,如果我们现在在_azbatchtask_21下登录,并尝试在同一环境中安装新软件包,我们会收到奇怪的错误“访问被拒绝”:

conda activate D:\batch\tasks\shared\test-condaenv-users
Run Code Online (Sandbox Code Playgroud)

有效,但是:

pip install nltk

> Access is denied
Run Code Online (Sandbox Code Playgroud)

如果有用,我们使用以下命令检查了新创建的 condaenv 文件夹的权限

    icacls D:\batch\tasks\shared\test-condaenv-users

    NT AUTHORITY\SYSTEM:(I)(F)
    NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
    ae0f56229000000\_azbatch:(I)(F)
    ae0f56229000000\_azbatch:(I)(OI)(CI)(IO)(F)
    BUILTIN\Administrators:(I)(F)
    BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
    ae0f56229000000\WATASK_COMMON_GROUP:(I)(F)
    ae0f56229000000\WATASK_COMMON_GROUP:(I)(OI)(CI)(IO)(F)
    NT AUTHORITY\Authenticated Users:(I)(F)
    NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(F)
Run Code Online (Sandbox Code Playgroud)

我们还尝试使用以下命令向所有人授予完全权限(但pip install此后仍然失败)

icacls D:\batch\tasks\shared\test-condaenv-users /grant "Everyone:(OI)(CI)F" /T …
Run Code Online (Sandbox Code Playgroud)

python virtualenv anaconda azure-data-factory

5
推荐指数
1
解决办法
1310
查看次数