小编drm*_*iod的帖子

TODO在rStudio中发表评论

有没有办法在rstudio中列出ToDo评论?在我使用eclipse之前,我真的很喜欢# TODO I definitely need more unit tests here!在我的源代码中添加一些注释.

到目前为止我在rStudio中找不到这个功能,我想知道,如果有类似插件的东西,或者可能是搜索此类评论的简单方法.

r rstudio

30
推荐指数
4
解决办法
5600
查看次数

将闪亮的应用程序开发为一个包并将其部署到闪亮的服务器上

我正在开发一个闪亮的应用程序,因为我想使用该功能的自动化测试和文档,我开始在一个包中开发接口(这里推荐).

我在RStudio中开发这个闪亮的应用程序,我有一个server.R文件,我可以点击RStudio内的运行应用程序按钮,一切正常.我将我的包提交到github存储库,从这一点开始我想在我的R闪亮服务器上使用devtools和安装它install_github.

现在我想知道如何在服务器中启动我的应用程序.我天真地想着安装软件包并指向server.R文件,但这在某种程度上无法正常工作.不确定问题出在哪里.

我的第二次尝试是创建一个文件app.R,在闪亮的服务器可访问的文件夹中调用,在这个文件中,我基本上加载我的包,闪亮和其他所需的包,但它因为缺少变量而以某种方式抱怨...

有人可以给我一个建议吗?我也很乐意回答任何问题,因为我不确定如何正确地提出这个问题.提前致谢.

编辑部署到闪亮的服务器

由于Colin D在评论中询问如何在闪亮的服务器上部署这些软件包,我想演示如何做到这一点.

首先,我使用以下命令通过root命令行直接在光亮的服务器上安装我的软件包.

su - -c "R -e \"devtools::install_github('user/shinypackage')\"" 
Run Code Online (Sandbox Code Playgroud)

下一步是更改包文件夹的所有者

chown -R shiny:shiny /usr/local/lib/R/site-library/shinypackage/
Run Code Online (Sandbox Code Playgroud)

然后我重新启动闪亮的服务器,因为这有时会出现缓存等问题.

systemctl restart shiny-server
Run Code Online (Sandbox Code Playgroud)

这些是我更新闪亮应用时的步骤.我通常再次以root为单位执行此操作

su - -c "R -e \"devtools::install_github('user/shinypackage')\"" &  chown -R shiny:shiny /usr/local/lib/R/site-library/shinypackage/ & systemctl restart shiny-server
Run Code Online (Sandbox Code Playgroud)

我们仍然需要做的一件事是在shiny-server.conf文件中设置目录.我刚刚添加了包路径+ 保存ui.Rserver.R保存的应用程序目录.

  location /shinypackage {
    app_dir /usr/local/lib/R/site-library/shinypackage/application;
    log_dir /var/log/shiny-server;
  }
Run Code Online (Sandbox Code Playgroud)

然后我必须使用重新启动服务器systemctl restart shiny-server …

r devtools shiny shiny-server

28
推荐指数
2
解决办法
5809
查看次数

使用ggplotly时,将鼠标格式化为标签

在使用ggplotly和鼠标悬停功能时,我正在努力处理文本格式化.

library(plotly)
df <- data.frame(a=letters, b=LETTERS, x=runif(26), y=runif(26))
g <- ggplot(df, aes(x,y)) + geom_point(aes(text=sprintf('letter: %s\nLetter: %s', a, b)))
g
(gg <- ggplotly(g))
Run Code Online (Sandbox Code Playgroud)

我想在我的鼠标标签上有一些格式化的文本或至少一个换行符.有没有关于如何设计这个鼠标超过泡沫的好文档?

r ggplot2 plotly

25
推荐指数
2
解决办法
2万
查看次数

从颜色中删除线条并填充图例

我有一个有三个不同传说的情节:一个用于linetype,一个用于color,一个用于fill.在colorfill传说中还有一些我希望删除的行,但是如何?

这是一些示例代码:

# some data
hline_df <- data.frame(name = c('a', 'b'), y = c(1, 2))
df <- data.frame(x = c(1, 2), y = c(0.5, 1.5), con = c('a', 'b'), col = c('d', 'e'))

# the plot
ggplot(df, aes(x, y, fill = con)) +
  geom_bar(stat = 'identity') + 
  geom_point(aes(color = col)) +
  geom_hline(data = hline_df, aes(yintercept = y, linetype = name),
             color = 'red', show_guide = TRUE)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我得到两条红线的"名称"指南,很好.
"col"指南有红线穿过点,我想删除它们!
"con"指南也有红线,应删除.

我可以修改图例的部分内容 …

r ggplot2

17
推荐指数
2
解决办法
6108
查看次数

如何手动调整刻面尺寸

我有一个多方面的情节,数据非常多样化.所以有些方面只有1个x值,但有些方面有13个x值.我知道有一个参数space='free'可以通过它代表的数据调整每个方面的宽度.

我的问题是,是否有可能手动调整此空间?由于我的一些方面很小,因此无法再读取刻面中的标签.我做了一个可重复的例子来说明我的意思.

df <- data.frame(labelx=rep(c('my long label','short'), c(2,26)),
                 labely=rep(c('a','b'), each=14),
                 x=c(letters[1:2],letters[1:26]),
                 y=LETTERS[6:7],
                 i=rnorm(28))
ggplot(df, aes(x,y,color=i)) +
  geom_point() +
  facet_grid(labely~labelx, scales='free_x', space='free_x')
Run Code Online (Sandbox Code Playgroud)

因此,根据您的屏幕,my long labelfacet会被压缩,您无法再读取标签.

我在互联网上发现了一个似乎完全符合我想做的帖子,但这似乎已经不再适用了ggplot2.该帖子是2010年.

https://kohske.wordpress.com/2010/12/25/adjusting-the-relative-space-of-a-facet-grid/

他建议使用facet_grid(fac1 + fac2 ~ fac3 + fac4, widths = 1:4, heights = 4:1),所以widthsheights手动调整每个面大小.

r facet ggplot2 ggproto

16
推荐指数
4
解决办法
7027
查看次数

Rmarkdown将输出文件定向到目录中

我找到了一个非常好的技巧(链接)到knitr的功能,你可以将输出html保存到输出文件夹和不同的文件名下.

您必须前往标题的唯一内容如下:

title: "analysis"
author: "Me"
date: "`r format(Sys.time(), '%d %B, %Y, %H:%M')`"
knit: (function(inputFile, encoding) { 
      rmarkdown::render(inputFile,
                        encoding=encoding, 
                        output_file=file.path(dirname(inputFile), out_dir, 'analysis.html')) })
output:
  html_document:
    number_sections: yes
    toc: yes
Run Code Online (Sandbox Code Playgroud)

这在我的Mac上有时很好用,但有时候找到out_dir变量有问题......

我首先考虑先执行块,所以设置变量......但这并没有解决问题......

我也重新启动了R session,这没有帮助.

最后一步是关闭R,保存工作区,重新打开R并加载工作区后,它再次像魅力一样工作.

我找不到原帖,有人推荐这个技巧......

重复工作流程重现

打开新项目,在新文件夹中将其命名为test
ar markdown document
将标题更改为:

---
title: "Untitled"
author: "Me"
date: "`r format(Sys.time(), '%d %B, %Y, %H:%M')`"
knit: (function(inputFile, encoding) { 
      rmarkdown::render(inputFile,
                        encoding=encoding, 
                        output_file=file.path(dirname(inputFile), out_dir, 'analysis.html')) })
output:
  html_document:
    number_sections: yes
    toc: yes
---

```{r write quant output files}
out_dir <- 'test' …
Run Code Online (Sandbox Code Playgroud)

r rstudio knitr r-markdown

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

在RStudio中记录R包中的R6类和方法

我正在努力学习R6类及其方法的文档.我的目标是在RStudio中获取方法的自动完成.目前,我只获取方法的名称,但没有通常使用roxygen2参数等记录函数的帮助信息.

目前,这是我的班级:

#' @importFrom R6 R6Class
MQParameters <- R6::R6Class(
  'MQParameters',
  public=list(
    initialize=function(file_path=NA) {
      private$location <- file_path
      mq_parameters <- read.delim(file_path, stringsAsFactors=FALSE)
      mq_parameters <-
        setNames(mq_parameters$Value, mq_parameters$Parameter)
      private$mq_version <- unname(mq_parameters['Version'])
      private$fasta_file <-
        gsub('\\\\', '/', strsplit(mq_parameters['Fasta file'], ';')[[1]])
    },
    # this method returns the version
    getVersion=function() {
      private$mq_version
    },
    # this methods returns the fastafile.
    # @param new_param it is possible to rewrite the basedir.
    getFastaFile=function(new_basedir=NA) {
      if(is.na(new_basedir)) {
        private$fasta_file
      } else {
        file.path(new_basedir, basename(private$fasta_file))
      }
    }
  ),
  private=list(
    location=NULL,
    mq_version=NULL,
    fasta_file=NULL …
Run Code Online (Sandbox Code Playgroud)

r rstudio roxygen2 r6

14
推荐指数
2
解决办法
1943
查看次数

通过devtools install_github安装r包的问题

我正在GitHub上开发两个包,我正在尝试使用该devtools::install_github()命令安装它们.

由于存储库是私有的,我auth_token为我的帐户创建了一个(据我所知,单个存储库没有办法做到这一点?)

devtools::install_github("mariodejung/rMQanalysis", 
                         auth_token="6cd2dbe8bd1f062842b90afXXXXXXXXXXXXXXXXX", 
                         ref="develop", 
                         dependencies=TRUE)
devtools::install_github("mariodejung/cfpscripts", 
                         auth_token="6cd2dbe8bd1f062842b90afXXXXXXXXXXXXXXXXX", 
                         ref="develop")
Run Code Online (Sandbox Code Playgroud)

第一个软件包的安装按预期工作,第二个软件包开始安装但因错误而停止,并且出于任何原因它提到了第一个已安装的软件包.请在最后的注释中查看错误.我不知道为什么会这样,以及如何解决它.

我再次添加了下面的错误消息,因为我已经改变了一些东西.

很抱歉更改了,auth_token但脚本现在应保持私密状态.

我还检查了只用一个命令安装两个包,但它导致相同的错误消息.我还GITHUB_PAT根据评论中的建议在我的环境中添加了变量,以便不公开使用身份验证令牌.

devtools::install_github(c("mariodejung/rMQanalysis","mariodejung/cfpscripts"), 
                         ref="develop", 
                         dependencies=TRUE)
Run Code Online (Sandbox Code Playgroud)

此命令现在rMQanalysis成功安装程序包,并在安装时失败并显示相同的错误消息cfpscripts.仍然不知道如何弄清问题是什么.它适用于其他机器.还安装了所有依赖项.

devtools::install_github(c("mariodejung/rMQanalysis","mariodejung/cfpscripts"), ref='develop', quiet=FALSE)
Using GitHub PAT from envvar GITHUB_PAT
Downloading GitHub repo mariodejung/rMQanalysis@develop
from URL https://api.github.com/repos/mariodejung/rMQanalysis/zipball/develop
Installing rMQanalysis
"C:/PROGRA~1/R/R-32~1.5/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL  \
  "C:/Users/cfproteomics/AppData/Local/Temp/RtmpktvmUK/devtools43850da641a/mariodejung-rMQanalysis-0e38dd3463ea830b19f0afa2ade6f2e14db93041"  \
  --library="C:/Users/cfproteomics/Documents/R/win-library/3.2" --install-tests 

* installing *source* package 'rMQanalysis' ...
** R
** data
*** moving datasets to lazyload DB
** inst
** tests …
Run Code Online (Sandbox Code Playgroud)

r github devtools

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

使用switch命令中的可能值列表

是否可以为我的switch函数提供一种可能的值列表.如果有人提供了错误的参数,我很乐意让所有内容自动更新.

我使用{}for each条件,因为我将在我的函数中执行更多然后只是这个变量声明,我会在这个开关中做几件事.

switch(con,
       val1={
         filename <- 'SILAC-DML_with_PDF.R'
       },
       val2={
         filename <- 'SILAC-DML_with_PDF.R'
       },
       stop(sprintf('"%s" is an unknown condition type, please use one of "%s".\n',
                    con, paste(c('val1','val2'), collapse=', '))))
Run Code Online (Sandbox Code Playgroud)

我希望有一个列表,我可以粘贴名称,以获得可能的值.所以理想的解决方案有点像这样,但没有错误信息:-)

my_list <- list(val1=filename <- 'a.R',
                val2=filename <- 'b.R')
switch(con,
       my_list,
       stop(sprintf('"%s" is an unknown condition type, please use one of "%s".\n',
                    con, names(my_list), collapse=', '))))
Run Code Online (Sandbox Code Playgroud)

r switch-statement

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

图层中的子参数不再适用于ggplot2> = 2.0.0

我更新到最新版本,ggplot2并通过在图层中打印子集遇到问题.

library(ggplot2)
library(plyr)
df <- data.frame(x=runif(100), y=runif(100))
ggplot(df, aes(x,y)) + geom_point(subset=.(x >= .5))
Run Code Online (Sandbox Code Playgroud)

这些代码行在版本中工作1.0.1但不在2.0.0.它抛出一个错误Error: Unknown parameters: subset.

我找不到正式的更改日志或如何分配特定图层的方法.特别是因为这个plyr解决方案不是很好记录,我想我发现它在堆栈溢出的某个地方.

r ggplot2 plyr

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