我最近一直在使用优秀的rplos软件包,这使得搜索公共科学图书馆(PLOS)API上的论文非常容易.我遇到了麻烦,因为API本身似乎有一些缺失的信息 - 一个主要的问题是至少有2012年关于API的论文在"期刊"领域没有任何信息.我有每篇论文的DOI,所以对于谷歌这个DOI来说很简单,并且证明这些是在真实期刊上发表的真实论文,通常是PLoS ONE.显然,做2000次这样做会很愚蠢.
如果我有DOI列表,我想知道是否有人知道如何找到源期刊?我查看了RISmed包,它显然可以从R中搜索PubMed,但我无法弄清楚如何让它提供有用的信息(只是搜索命中的数量,以及一些可能导致我想要的信息的PubMed ID) .
任何人都知道如何将DOI列表转换为源日记帐名称?
编辑:我只想到另一个简单的解决方案.DOI包含期刊名称的缩写,对于这样的情况,只有少数期刊,可以使用正则表达式来读取DOI并选择它们来自哪个期刊.示例:10.1371/journal.pone .0046711来自PLoS ONE.
我希望将闪亮的图形输出高度和宽度调整为当前窗口大小.我试过使用下面但没有用.
ShinyUi <- fluidPage(
# Application title
titlePanel("title"),
sidebarLayout(
sidebarPanel(
... inputs ...
),
mainPanel(
plotlyOutput("distPlot", height = 'auto', width = 'auto')
)
))
ShinyServer <- function(input, output, session) {
output$distPlot <- renderPlotly({
p <- ggplot(dataShow, aes(x=dataShow$X, y=dataShow$Y)) +
geom_point(shape=1, alpha = 0.5, color = "grey50")
ggplotly(p)
})
}
# Run the application
shinyApp(ui = ShinyUi, server = ShinyServer)
Run Code Online (Sandbox Code Playgroud)
您是否知道可能在服务器功能中使用的任何其他选项而不是上述UI功能使用?
在igraphR包中,是否有一个subcomponent()可以处理多个源顶点的有效实现和/或BFS?
在drake[R包装机型用户的工作流程是相互依存的对象和文件的DAG.DAG应该只包含用户的目标及其上游依赖项,因此drake用于igraph::subcomponent()消除多余的顶点.这种方法效率很低,因为v参数必须是单个顶点,因此drake最终会为用户想要构建的每个目标执行新的BFS.
drake现在使用一种不同的方法,最终依赖于顺序调用adjacent_vertices().这种方法很笨重,但速度提升实际上非常好.仍然坚持更优雅和精致的东西.
是否可以锁定全局环境并且仍然允许.Random.seed设置或删除全局环境?在lockEnvironment()我的用例中,的默认行为过于激进。
lockEnvironment(globalenv())
rnorm(10)
#> Error in rnorm(10) : cannot add bindings to a locked environment
rm(.Random.seed)
#> Error in rm(.Random.seed) :
#> cannot remove bindings from a locked environment
Run Code Online (Sandbox Code Playgroud)
drake 7.0.0版将具有新的保护措施,以保护可重复性。
plan <- drake_plan(
x = {
data(mtcars)
mtcars$mpg
},
y = mean(x)
)
plan
#> # A tibble: 2 x 2
#> target command
#> <chr> <expr>
#> 1 x { data(mtcars) mtcars$mpg }
#> 2 y mean(x)
make(plan)
#> target x
#> fail …Run Code Online (Sandbox Code Playgroud) 我有一个从这里获得的状态边界的geojson文件。特别是我正在使用2000万美国数据
我正在尝试对数据进行子集处理,以便可以使用传单仅映射某些状态。我可以使用以下方法将一个状态子集化:
states <- geojsonio::geojson_read("gz_2010_us_040_00_20m.json", what = "sp")
az <- subset(states, NAME == "Arizona")
Run Code Online (Sandbox Code Playgroud)
但是,此方法似乎不适用于选择多个状态:
swStates <- subset(states, NAME == c("Arizona", "Nevada", "New Mexico"))
Run Code Online (Sandbox Code Playgroud)
选择多个状态通常只会导致选择一个或两个状态,或者根本不会选择一个状态。我可以使用其他方法来对数据进行子集化吗?
我想使用 R 代码搜索 ACM 数字库,检索至少包括摘要在内的元数据,最多检索全文。
我知道 rOpenSci 库提供了 R 包和函数来访问 IEEEExplore 和其他文献数据服务,并且这些工作得很好,但是由于 ACM 数字库尚未提供 API,因此 rOpenSci 无法开发访问 ACM 的代码来自 R 的数字图书馆资源。
我的问题是有人知道解决这个问题的方法吗?是否有替代方案允许以编程方式访问 ACM 数字图书馆中的内容?
谢谢山姆
问题:是否有一个函数可以在尚未打开的情况下打开 selenium 浏览器,或者关闭当前浏览器并重置端口并重新启动浏览器?
理由:我在 RSelenium 中处理偶尔会崩溃的大循环,因此有时我不知道循环代码中端口是否打开或浏览器是否打开。我想要一个 RSelenium 启动器,无论浏览器是否打开或端口是否正在使用,它都会启动浏览器。
尝试:我使用 tryCatch() 尝试了这种方法,但如果我尝试启动它两次,我仍然会收到 wdman 错误,表明端口已打开:
browserpreference <- "chrome"
tryCatch({rD <- rsDriver(port = 4444L, browser = paste0(browserpreference))}
,error=function(rD,remDr){
try(remDr$close(), silent=T)
try(rD$server$stop(),silent=T)
try(suppressWarnings(rm(rD, envir = .GlobalEnv)), silent=T)
try(suppressWarnings(rm(remDr, envir = .GlobalEnv)), silent=T)
gc()
rD <- rsDriver(port = 4444L, browser = paste0(browserpreference))
})
Run Code Online (Sandbox Code Playgroud)
如果我尝试两次,我会收到此错误:
Error in wdman::selenium(port = port, verbose = verbose, version = version, :
Selenium server signals port = 4444 is already in use.
Run Code Online (Sandbox Code Playgroud)
谢谢!
我试图从github安装一个包,但不断收到以下错误;
"Error in unzip(src, list = TRUE) : 'exdir' does not exist".
Run Code Online (Sandbox Code Playgroud)
我猜unzip没有权限创建一个目录来解压缩,但我不知道将参数传递给exdir参数的方法.
> require(devtools)
> install_github("rvertnet", "ropensci")
Installing github repo(s) rvertnet/master from ropensci
Installing rvertnet.zip from https://api.github.com/repos/ropensci/rvertnet/zipball/master
Error in unzip(src, list = TRUE) : 'exdir' does not exist
Run Code Online (Sandbox Code Playgroud)
这是我第一次从github安装,所以我可能会遗漏一些非常简单的东西.我尝试了其他package(ggplot2)并得到了同样的错误.
编辑:添加的结果来自sessionInfo():
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: i386-pc-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_Canada.1252 LC_CTYPE=English_Canada.1252 LC_MONETARY=English_Canada.1252
[4] LC_NUMERIC=C LC_TIME=English_Canada.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] devtools_0.8
loaded via …Run Code Online (Sandbox Code Playgroud) 通常情况下,你可以阅读GeoJSON的文件成R与信赖readOGR,如图所示这里.
但是,对于多功能地理数据而言,这是失败的.
可重复的例子:
downloader::download("https://github.com/Robinlovelace/Creating-maps-in-R/raw/master/data/test-multifeature.geojson", "test.geojson")
test <- rgdal::readOGR("test.geojson", "OGRGeoJSON") # fails with:
Error in ogrInfo(dsn = dsn, layer = layer, encoding = encoding, use_iconv = use_iconv, :
Multiple incompatible geometries: wkbPoint: 98; wkbLineString: 660; wkbPolygon: 23
Run Code Online (Sandbox Code Playgroud)
错误消息足够清晰并指示解决方案:拆分功能.除了用正则表达式做这个,我不知道怎么样.
任何想法都非常受欢迎.
令人惊奇的是:GitHub在浏览器上本地显示数据,而R甚至不能(看似)读取它!
解决方案的替代方法:
test <- geojsonio::geojson_read("test.geojson")
Run Code Online (Sandbox Code Playgroud) 我使用elastic 0.7.8R包连接到我的Elastic Search实例.最近,我试图通过使用来保护弹性搜索Search Guard 2.
在确保它之后,一切都会受到罚款.但是当我尝试从R连接时,它失败了.
library(elastic)
connect(es_base = "https://localhost", es_port = 9200, es_user = USER, es_pwd = PASS)
Run Code Online (Sandbox Code Playgroud)
日志中的错误是"客户端请求的protocal TLSv1未启用或不支持"
我尝试使用cURL连接到弹性搜索,如下所示:
我无法弄清楚如何强制R使用TLSv1.1.
请协助.
以下是版本:
这是提取点击事件的工作示例。我想问你是否有办法通过增加大小或突出显示等来更新点击点?
library(shiny)
library(plotly)
ui <- fluidPage(
plotlyOutput("plot"),
verbatimTextOutput("click")
)
server <- function(input, output, session) {
nms <- row.names(mtcars)
output$plot <- renderPlotly({
p <- ggplot(mtcars, aes(x = mpg, y = wt, col = as.factor(cyl), key = nms)) +
geom_point()
ggplotly(p)
})
output$click <- renderPrint({
d <- event_data("plotly_click")
if (is.null(d)) "Click events appear here (double-click to clear)"
else cat("Selected point associated with Car: ", d$key)
})
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
我已经搜索了 SO 和其他合适的来源以找到以下问题的解决方案,但找不到。
更新:
已在此处询问有关更改单击点形状的相关问题。