小编nat*_*ood的帖子

链接R包装晕影

有没有什么办法可以在R中的包装小插图之间加入链接?例如,我知道我可以在部分之间进行链接

# Section 1 {#section1}
My first section

# Section 2
A link to [Section 1](#section1)
Run Code Online (Sandbox Code Playgroud)

但有什么方法可以获得一个可点击的链接,将启动另一个小插图的HTML doucment?或者让代码启动它更容易?

```r
vignette("my vignette", package = "myPackage")
```
Run Code Online (Sandbox Code Playgroud)

注意我使用Rmarkdown和生成了所有的晕影knitr.

r knitr r-markdown

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

如何在R-Bloggers上获取博客博客?

我使用了生成我的博客,blogdown但是当我尝试将其提交给R-Bloggers时,不接受它,因为我的Feed返回以下错误:

This XML document is invalid, likely due to invalid characters. 
XML error: Undeclared entity error at line 6, column 35 
Run Code Online (Sandbox Code Playgroud)

显然,我网站的Feed不包含完整的RSS内容.如何让它保存所有内容?

xml rss r hugo blogdown

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

如何在函数中正确使用 data.tables 的 env 变量

让我们举一个简单的例子

data <- data.table::data.table(a = 1:10, b = 2:11)
j <- quote(c("c") := list(a + 1))
data[, j, env = list(j = j)][]
#        a     b     c
#    <int> <int> <num>
# 1:     1     2     2
# 2:     2     3     3
# 3:     3     4     4
# 4:     4     5     5
# 5:     5     6     6
Run Code Online (Sandbox Code Playgroud)

上面的代码有效并产生正确的输出。但是,如果我将其放入函数中,我会得到非常不同的输出。

data <- data.table::data.table(a = 1:5, b = 2:6)
test <- function(data, ...) {
  dots <- eval(substitute(alist(...)))
  j <- call(":=", call("c", names(dots)), unname(dots))
  print(j) …
Run Code Online (Sandbox Code Playgroud)

r data.table nse

12
推荐指数
2
解决办法
947
查看次数

参考后包括Rmd附录

我的问题与这个问题有关.我希望在我的推荐之后包括我的附录,所以我after_body在我的yaml中使用标签,但是我需要能够使用knit我的appendix.Rmd文件.我尝试过以下方法:

after_body: "`r knitr::knit('appendix.Rmd')`"
Run Code Online (Sandbox Code Playgroud)

但是这会尝试appendix.Rmd在实际报告之前编织文件,因此失败,因为它没有内存中所需的库或对象.

r knitr r-markdown

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

使用packrat进行R更新后,包中的包不可用

我最近更新到R 3.1.3,我正在使用RStudio和packrat.我正在尝试使用RStudio在构建的"构建和重新加载"工具中重新构建我的包,但它不起作用.我一直收到以下错误:

Updating standaRd documentation
Loading standaRd
Error in (function (dep_name, dep_ver = NA, dep_compare = NA)  : 
  Dependency package ggplot2 not available.
Calls: suppressPackageStartupMessages ... <Anonymous> -> load_all -> load_depends -> mapply -> <Anonymous>
Execution halted

Exited with status 1.
Run Code Online (Sandbox Code Playgroud)

问题是,我已经ggplot2在所有地方安装了包括我的本地库和我的包装库,用于R 3.1.2和R 3.1.3的这个项目.我试过加载它们无济于事.

另外,使用devtools::build()devtools::document()都工作,所以我假设这是一个RStudio问题?

注意:我使用的是RStudio版本0.99.235.

编辑:我也看不到我的包的任何文档,它似乎不在我的packrat库中.

第二次编辑:我已经卸载了R 3.1.3并恢复到R 3.1.2并且我仍然遇到同样的问题.

第三次编辑:这些是我的依赖:

Depends:
    R (>= 3.1.2),
    ggplot2 (>= 1.0.0),
    grid
Run Code Online (Sandbox Code Playgroud)

r rstudio packrat r-package

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

重新实例化 R6 对象

假设我有一个简单的抽象R6类。

myClass <- R6::R6Class(
  classname = "myClass",
  public = list(
    save = function(path) {
      saveRDS(self, path)
    },
    load = function(path) {
      object <- readRDS(path)
      self <- object
      lockEnvironment(self)
      invisible(self)
    }
  )
)
Run Code Online (Sandbox Code Playgroud)

然后我有一个儿童班可以做一些事情

myChildClass <- R6::R6Class(
  classname = "myChildClass",
  inherit = myClass,
  lock_objects = FALSE,
  public = list(
    initialize = function(x) {
      private$x <- x
    },
    addOne = function() {
      private$x <- private$x + 1
      private$x
    }
  ),
  private = list(x = NA_real_)
)
Run Code Online (Sandbox Code Playgroud)

我想要做的是能够保存我创建的类,然后在以后重新实例化它。

tmp <- myChildClass$new(x …
Run Code Online (Sandbox Code Playgroud)

r r6

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

删除绘图点击事件数据

我正在设计一个包含plotly散点图的Shiny应用程序.我希望用户能够使用该event_data功能单击图表来记录事件,但是能够通过单击来清除该事件actionButton.下面是一些示例代码:

library(shiny)
library(plotly)

ui <- fluidPage(
  actionButton("clearEvent", label = "clear event"),
  verbatimTextOutput("plotVal"),
  plotlyOutput('plot1')
)

server <- function(input, output, session) {
  output$plot1 <- renderPlotly({
    d <- diamonds[sample(nrow(diamonds), 1000), ]
    plot_ly(d, x = ~carat, y = ~price, color = ~carat,
            size = ~carat, text = ~paste("Clarity: ", clarity))
  })

  output$plotVal <- renderPrint({
    e <- event_data("plotly_click")
    if (is.null(e)) {
      NULL
    } else {
      e
    }
  })

  observeEvent(input[["clearEvent"]], {
    e <- NULL
  })
}

shinyApp(ui = ui, server …
Run Code Online (Sandbox Code Playgroud)

r shiny plotly

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

在文档对象中发现错误的 \usage 行

我无法让我的包裹通过 R CMD 检查。我使用的是devtools1.9.1版本和Roxygen24.1.1版本。我遇到的问题如下:

Bad \usage lines found in documentation object 'my_fn':


Functions with \usage entries need to have the appropriate \alias
entries, and all their arguments documented.
The \usage entries must correspond to syntactically valid R code.
See chapter 'Writing R documentation files' in the 'Writing R
Extensions' manual.
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它实际上并没有给我任何指示问题发生的位置。它只是 2 个空格。

我的功能如下:

#' My function
#'
#' Extracts data from the database in order to produce plots and
#' descriptive statistics.
#'
#' @param …
Run Code Online (Sandbox Code Playgroud)

r roxygen2

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

解析传递给辅助函数的函数值

我有一个函数,定义如下

fn1 <- function(var = NULL) {
  if (missing(var)) var else deparse(substitute(var))
}
Run Code Online (Sandbox Code Playgroud)

我可以调用这个函数,它给了我我想要的。

fn1()                                                                                                                                                
# NULL

fn1(test)                                                                                                                                            
# [1] "test"
Run Code Online (Sandbox Code Playgroud)

我现在想要功能化var.

fn2 <- function(var = NULL) {
  deparse_var(var)
}

deparse_var <- function(var) {
  if (missing(var)) var else deparse(substitute(var))
}
Run Code Online (Sandbox Code Playgroud)

但这并没有给我预期的结果

fn2()                                                                                                                                                
# [1] "var"

fn2(test)                                                                                                                                            
# [1] "var"
Run Code Online (Sandbox Code Playgroud)

因为我有varinside的值deparse_var(),我可以检查它是否是NULL。但deparse如果不是,则不起作用。

deparse_var <- function(var) {
  if (is.null(var)) var else deparse(substitute(var))
}

fn2()
# [1] NULL

fn2(test)
# Error in deparse_var(var) : …
Run Code Online (Sandbox Code Playgroud)

r

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

如何在 Shiny 中保存传单地图

问题之后,我希望将传单地图保存和下载为 png 或 jpeg 图像。我有以下代码,但我不断收到错误消息。

ui <- fluidPage(
  leafletOutput("map"),
  downloadButton("dl")
)

server <- function(input, output, session) {
  output$map <- renderLeaflet({
    leaflet() %>% 
      addTiles()
  })

  output$dl <- downloadHandler(
    filename = "map.png",

    content = function(file) {
      mapshot(input[["map"]], file = file)
    }
  )
}

shinyApp(ui = ui, server = server)
Run Code Online (Sandbox Code Playgroud)

我尝试下载(通过单击按钮)时遇到的错误是

Warning: Error in system.file: 'package' must be of length 1
Stack trace (innermost first):
    65: system.file
    64: readLines
    63: paste
    62: yaml.load
    61: yaml::yaml.load_file
    60: getDependency
    59: widget_dependencies
    58: htmltools::attachDependencies …
Run Code Online (Sandbox Code Playgroud)

r leaflet shiny r-leaflet

4
推荐指数
2
解决办法
5511
查看次数

标签 统计

r ×10

knitr ×2

r-markdown ×2

shiny ×2

blogdown ×1

data.table ×1

hugo ×1

leaflet ×1

nse ×1

packrat ×1

plotly ×1

r-leaflet ×1

r-package ×1

r6 ×1

roxygen2 ×1

rss ×1

rstudio ×1

xml ×1