小编Mik*_*ike的帖子

在Hmisc之后加载tidyverse时的评估错误

我使用的是r 3.3.3,dplyr 0.7.4和Hmisc 4.1-1.我注意到我加载包的顺序会影响dplyr :: summaries函数是否有效.我知道以不同的顺序加载包会掩盖某些函数,但我使用package :: function()语法来避免这个问题.确切的问题围绕标记变量.我知道过去有过tidyverse和变量标签的问题,但似乎都没有解决为什么会出现这种特殊情况.

第一个有效的例子 - 我只加载Hmisc然后加载dplyr并且我能够汇总数据 -

#this works fine
library(Hmisc)
library(dplyr)

Hmisc::label(iris$Petal.Width) <- "Petal Width"

sumpct <- iris %>% 
  dplyr::group_by(Species) %>% 
  dplyr::summarise(med =median(Petal.Width),A40 = round(100*ecdf(Petal.Width)(.40),1),
            A50 =round(100*ecdf(Petal.Width)(.50),1),
            mns = mean(Petal.Width),
            lowermean = mean(Petal.Width)-sd(Petal.Width),
            lowermedian = median(Petal.Width) - sd(Petal.Width))
Run Code Online (Sandbox Code Playgroud)

以下第二个例子打破.我启动一个新的会话并在Hmisc之后加载tidyverse并仍然使用package :: function()语法,但这会引发错误:

summarise_impl(.data,dots)出错:评估错误:xlabels必须是同一类型.

第二个例子:

###restart session 
#this example does not work

library(Hmisc)
library(tidyverse)


Hmisc::label(iris$Petal.Width) <- "Petal Width"

sumpct <- iris %>% 
  dplyr::group_by(Species) %>% 
  dplyr::summarise(med =median(Petal.Width),A40 = round(100*ecdf(Petal.Width)(.40),1),
                   A50 =round(100*ecdf(Petal.Width)(.50),1),
                   mns = …
Run Code Online (Sandbox Code Playgroud)

r hmisc dplyr tidyverse

11
推荐指数
1
解决办法
1291
查看次数

从 R 问题调用 Julia

我正在使用 Julia 1.0.0 和 R 3.5.1,我在使用JuliaCall和调用 R/RStudio 中的 Julia 时遇到问题XRJulia

当我尝试:

library(JuliaCall)
julia <- julia_setup(JULIA_HOME = "C:\\Program Files\\Julia-1.0.0\\bin")
Run Code Online (Sandbox Code Playgroud)

找到了 Julia 版本,但弹出一条错误消息,提示“缺少 libgcc_s_seh-1.dll”

当我尝试:

library(XRJulia)
JULIA_BIN <- "C:\\Program Files\\Julia-1.0.0\\bin"
findJulia(test=TRUE)
Run Code Online (Sandbox Code Playgroud)

测试返回 false。

但是,当我使用RCallJulia从 Julia 调用 R 时,Julia 可以定位并使用 R(使用 Atom/Juno IDE)。Julia 和 R 都位于 C:\Program Files 路径中。

从 R/RStuio 调用 Julia 的正确方法是什么?

在这里寻找解决方案,但无法使其正常工作。

更新 - 我尝试了这个解决方案,以便 R 可以识别 Julia 文件所在的位置。当我重新启动我的会话并设置新的 env 然后尝试运行我的 R 会话下面的代码时,它会中止

Sys.setenv(PATH = paste(Sys.getenv("PATH"),"C:\\Program Files\\Julia-1.0.0\\bin",sep=";"))
library(JuliaCall)
julia <- julia_setup(JULIA_HOME = …
Run Code Online (Sandbox Code Playgroud)

r julia

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

将包和函数称为另一个函数中的参数

我试图找到在R.例如在不同的包的特定函数的方法methods(broom::tidy)将返回所有方法的功能tidy在包中broom。对于我当前的问题,最好将methods函数包含在另一个函数中,如下所示: f1 <- function(x,y){ methods(x::y) }

(我删除了与问题无关的其他代码部分。)但是,当我运行这样的函数时:

f1 <- function(x,y){ methods(x::y)}
f1(broom,tidy)
Run Code Online (Sandbox Code Playgroud)

I get the error

Error in loadNamespace(name) : there is no package called ‘x’

If I try to modify it as to only change the function but keep the package the same I get a similar error :

f2 <- function(y){  methods(broom::y)}
f2(tidy)
Run Code Online (Sandbox Code Playgroud)

Error: 'y' is not an exported object from 'namespace:broom'

How can I get the package and function …

r function

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

标签 统计

r ×3

dplyr ×1

function ×1

hmisc ×1

julia ×1

tidyverse ×1