有没有办法在rstudio中列出ToDo评论?在我使用eclipse之前,我真的很喜欢# TODO I definitely need more unit tests here!在我的源代码中添加一些注释.
到目前为止我在rStudio中找不到这个功能,我想知道,如果有类似插件的东西,或者可能是搜索此类评论的简单方法.
我正在开发一个闪亮的应用程序,因为我想使用该功能的自动化测试和文档,我开始在一个包中开发接口(这里推荐).
我在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.R和server.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 …
在使用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)
我想在我的鼠标标签上有一些格式化的文本或至少一个换行符.有没有关于如何设计这个鼠标超过泡沫的好文档?
我有一个有三个不同传说的情节:一个用于linetype,一个用于color,一个用于fill.在color和fill传说中还有一些我希望删除的行,但是如何?
这是一些示例代码:
# 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"指南也有红线,应删除.
我可以修改图例的部分内容 …
我有一个多方面的情节,数据非常多样化.所以有些方面只有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),所以widths并heights手动调整每个面大小.
我找到了一个非常好的技巧(链接)到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) 我正在努力学习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) 我正在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) 是否可以为我的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) 我更新到最新版本,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解决方案不是很好记录,我想我发现它在堆栈溢出的某个地方.