小编gor*_*ryh的帖子

在函数中使用 jags.parallel(R 语言在 get(name,envir = envir) 中出错:找不到对象“y”)

从命令行或脚本使用 jags.parallel 工作正常。我可以从http://www.inside-r.org/packages/cran/R2jags/docs/jags运行这个修改过的例子就好了

# An example model file is given in:
  model.file <- system.file(package="R2jags", "model", "schools.txt")
#=================#
# initialization  #
#=================#

  # data
  J <- 8.0
  y <- c(28.4,7.9,-2.8,6.8,-0.6,0.6,18.0,12.2)
  sd <- c(14.9,10.2,16.3,11.0,9.4,11.4,10.4,17.6)

  jags.data <- list("y","sd","J")
  jags.params <- c("mu","sigma","theta")
  jags.inits <- function(){
    list("mu"=rnorm(1),"sigma"=runif(1),"theta"=rnorm(J))
  }


#===============================#
# RUN jags and postprocessing   #
#===============================#
#  jagsfit <- jags(data=jags.data, inits=jags.inits, jags.params, 
#    n.iter=5000, model.file=model.file)

  # Run jags parallely, no progress bar. R may be frozen for a while, 
  # Be patient. Currenlty …
Run Code Online (Sandbox Code Playgroud)

parallel-processing r r2jags jags.parallel

3
推荐指数
1
解决办法
2930
查看次数

dplyr 的相对频率/比例创建新列而不是行

这个问题的灵感来自这个这个问题。

我试图计算每个组中不同值的比例,但我不想为组创建“新”行,而是创建新列。

以上面第二个问题为例。如果我有以下数据:

data <- structure(list(value = c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 
2L, 2L, 2L, 3L, 3L, 3L, 3L), class = structure(c(1L, 1L, 1L, 
2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L), .Label = c("A", 
"B"), class = "factor")), .Names = c("value", "class"), class = "data.frame", row.names = c(NA, 
-16L))
Run Code Online (Sandbox Code Playgroud)

我可以计算每个类 (A,B) 中每个值 (1,2,3) 的比例:

data %>%
    group_by(value, class) %>%
    summarise(n = n()) %>%
    complete(class, fill = …
Run Code Online (Sandbox Code Playgroud)

group-by r frequency dplyr

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