小编Jea*_*ams的帖子

创建一个R包依赖于位于GitHub上的另一个R包

我在GitHub上创建一个R包,LW1949,依赖于GitHub上的另一个R包,jvamisc.当我尝试使用安装LW1949时

require(devtools)
devtools::install_github("user/LW1949")
Run Code Online (Sandbox Code Playgroud)

我收到消息:Skipping 1 packages not available: jvamisc.

如何import(jvamisc)将LW1949包的部分(在NAMESPACE中)指向Github而不是CRAN来找到这种依赖?

当然这个问题之前已经被问过并得到了回答,但我没有成功地搜索它(也许是因为搜索术语如此常见--R,包,GitHub等).我偶然发现Travis CIPackrat,我都没用过.不知道他们是否会有所帮助.我希望尽可能简单的修复.(我们不是都会吗?)

我在R Studio版本0.98.1103中使用R版本3.1.3 for Windows.

r github package

46
推荐指数
2
解决办法
4425
查看次数

将几个鼠标悬停事件应用于相邻(连接)节点

我有一个网络图(强制导向图),一个散点图和一个全部互连的表(参见jsFiddle).我有互连工作方式我希望它们用于鼠标悬停事件.我想修改我的代码,以便当我将鼠标悬停在网络图中的节点上时,不仅突出显示了moused-over节点(以及它在散点图和表中的连接),而且还突出显示了它的直接邻居节点(以及作为他们在散点图和表格中的连接).

我查看了突出显示所选节点,其链接及其子项的信息,在D3力导向图中寻求帮助.在某个地方(不完全确定在哪里),我找到了一个帮助定义连接节点的函数示例isConnected().

function isConnected(a, b) {
    return linkedByIndex[a.index + "," + b.index] || linkedByIndex[b.index + "," + a.index] || a.index == b.index;
    }
Run Code Online (Sandbox Code Playgroud)

我想将这个函数合并到我的鼠标悬停事件中,也许还有一个if()声明,这样我就可以完成我想要的所有"突出显示".但是,我是D3和js的新手,我不知道如何设置它.

下面是我想要修改的代码片段(来自jsFiddle).我将不胜感激任何有关其他示例的建议或指示.

var node = svg.selectAll(".node")
    .data(graph.nodes)
    .enter().append("g")
    .attr("class", function(d) { return "node " + d.name + " " + d.location; })
    .call(force.drag)
    .on("mouseover", function(d) { 
        // I would like to insert an if statement to do all of these things to the connected nodes
        // if(isConnected(d, …
Run Code Online (Sandbox Code Playgroud)

mouseover highlight d3.js force-layout

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

使用twitteR自动进行httr身份验证,在"批处理"模式下提供对交互式提示的响应

我正在使用R包twitteR将项目发布到Twitter.我把所有东西都放在一个函数中,它工作正常.但是,我想在没有提示响应的情况下运行该函数,我还没想出如何做到这一点.有什么建议?

以下是我的功能:

doit <- function(<snip>) {
    <snip>
    # connect to Twitter
    setup_twitter_oauth(api_key, api_secret, access_token, access_token_secret)
    <snip>
    }
Run Code Online (Sandbox Code Playgroud)

当我从命令行运行该函数时,系统会提示我进行交互式响应.

[1] "Using direct authentication"
Use a local file to cache OAuth access credentials between R sessions?
1: Yes
2: No

Selection: 
Run Code Online (Sandbox Code Playgroud)

当setup_twitter_oauth()函数在函数之外时,我可以通过在以下行中输入我的响应来直接在脚本中提供此信息,这与其他用户输入函数(如readline()或scan())非常相似.

setup_twitter_oauth(api_key, api_secret, access_token, access_token_secret)
1
Run Code Online (Sandbox Code Playgroud)

但是,当setup_twitter_oauth()是函数的INSIDE时,我无法使用此方法.

我将不胜感激任何有关如何在不需要用户输入的情况下运行此建议的建议.

=====

来自@NicE的答案就是诀窍.我将我的功能中的选项设置合并为:

doit <- function(<snip>) {
    <snip>
    # connect to Twitter
    origop <- options("httr_oauth_cache")
    options(httr_oauth_cache=TRUE)
    setup_twitter_oauth(api_key, api_secret, access_token, access_token_secret)
    options(httr_oauth_cache=origop)
    <snip>
    }
Run Code Online (Sandbox Code Playgroud)

r batch-processing twitter-oauth

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

具有悬停信息的线段或矩形在R图中

我想创建一个线段或矩形的交互式图形,这样当用户将鼠标悬停在它上面时,每个段或矩形都会给出不同的信息.我查看了htmlwidgets展示,我认为情节看起来很有希望.(我对其他与R相关的方法持开放态度.)

下面是一个简单的例子.我可以创建一个提供悬停信息的终点(t1和t2)图.但我希望在用户将鼠标悬停在两个端点之间的空间时出现悬停信息.

我可以使用添加一个线段add_trace(),但我不能让悬停工作.如果我添加第二个线段,我收到一条错误消息:

Error in plot_ly(data = mydat, x = t2, y = y, mode = "markers", hoverinfo = "text",  : 
  requires numeric/complex matrix/vector arguments
Run Code Online (Sandbox Code Playgroud)

我可以使用添加矩形layout(),但同样,我不能让悬停工作.

如果有人建议让悬停参数适用于任何一种方法,我也欢迎有关如何为大量段/矩形编码的建议(不仅仅是这个简单示例中的2).

有什么建议?

mydat <- data.frame(t1=c(1, 3), t2=c(4, 5), y=c(1, 2), task=c("this", "that"))
library(plotly)

# attempt with one line segment - hover doesn't work
plot_ly(data=mydat, x=t2, y=y, mode="markers",
  hoverinfo="text", text=task) %>%
add_trace(data=mydat, x=t1, y=y, mode="markers",
  hoverinfo="text", text=task) %>%
add_trace(
  x=c(mydat$t1[1], mydat$t2[1]), y=c(mydat$y[1], mydat$y[1]), 
  mode="lines", hoverinfo="text", text=mydat$task[1])

# …
Run Code Online (Sandbox Code Playgroud)

r hover

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

加速对独特观察的成对计数

我有一个对象(object)的向量以及相应的时间帧向量(tframe),其中观察了对象.对于每对独特的对象,我想计算观察两个对象的时间帧数.

我可以使用for()循环编写代码,但随着唯一对象数量的增加,运行需要很长时间.我如何更改代码以加快运行时间?

下面是一个包含4个独特对象的示例(实际上我有大约300个).例如,对象ac时间框架均被观察12,使他们获得的计数2.对象bd在同一时间内从来没有发现,所以他们得到的计数0.

object <- c("a", "a", "a", "b", "b", "c", "c", "c", "c", "d")
tframe <- c(1, 1, 2, 2, 3, 1, 2, 2, 3, 1)

uo <- unique(object)
n <- length(uo)

mpairs <- matrix(NA, nrow=n*(n-1)/2, ncol=3, dimnames=list(NULL, 
  c("obj1", "obj2", "sametf")))

row <- 0
for(i in 1:(n-1)) {
for(j in (i+1):n) {
  row <- row+1 …
Run Code Online (Sandbox Code Playgroud)

performance for-loop r

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

在blogdown中读取数据文件

我是使用Hugo的blogdown的新用户.我想创建一个包含R代码来读取数据文件的新帖子.

数据文件位于我的静态文件夹本地路径中C:\mydir\myblogdown\static\data\savedrecs.txt.由于我成功地使用这样的相对路径引用图像![](/images\myimage.jpg),我尝试使用类似于数据文件的东西来读取数据read.csv("/data\savedrecs.txt"),但是这不起作用.

我开始玩这个list.files()函数,看看我是否能找到一个在我的本地版本的帖子中list.files("../../static/data")工作的相对路径,工作,向我展示## [1] "savedrecs.txt".

我尝试在Github上搜索其他人的blogdown repos以查看他们如何引用数据文件,但我发现的唯一示例是使用URL引用数据文件.

csv r blogdown

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

错误:尝试部署/(重新)发布ShinyApps.io时出现未处理的异常

我有一个闪亮的应用程序,依赖于GitHub包.我最近更新了GitHub包,所以我想重新发布闪亮的应用程序.我根本没有对闪亮的应用程序代码进行任何更改,它在RStudio中运行时没有错误.但是,当我去重新发布它时,我在RStudio的Deploy选项卡中收到这些消息.

Preparing to deploy document...DONE
Uploading bundle for document: 96244...DONE
Deploying bundle: 426681 for document: 96244 ...
Waiting for task: 180459152
  building: Parsing manifest
  building: Building image: 419646
  building: Building package: xtable
################################ Begin Task Log ################################ 
################################# End Task Log ################################# 
Error: Unhandled Exception: Child Task 180459153 error: Unhandled Exception: HTTP 599: Connection closed
Execution halted
Run Code Online (Sandbox Code Playgroud)

我在Windows 7上运行最新版本的R(3.2.5)和RStudio(0.99.893),并确保所有软件包都已更新.

我四处搜索报告类似错误(和解决方案)的人,发现没有找到任何帮助.

我很感激任何提示.

链接:

r rstudio shiny

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

在R降价文档中插入部分符号

如何在R降价文档中插入节符号?

由于我不知道如何在此问题中插入符号,因此我将推荐您访问此页面,https://en.wikipedia.org/wiki/Section_sign.

我可以使用Latex合并其他符号,例如$\dag$给我一把匕首并$\ddag$给我一把双匕首.(匕首和双匕首都可以在上面的页面链接中查看.)但是如果我使用$\s$$\S$(我在互联网搜索中找到的)部分符号,我只需在$\S $中获得$\s $我的文件.

markdown latex symbols r

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

用一些空字符串重新编码字符向量

我一直在使用该dplyr::recode()函数来重新编码一些变量。我有一个带有一些空字符串的字符变量,我也想重新编码。但是,如果我在函数的参数中引用空字符串,则会出现错误。

# input
x <- c("a", "b", "", "x", "y", "z")
# desired output
c("Apple", "Banana", "Missing", "x", "y", "z")

dplyr::recode(x, "a"="Apple", "b"="Banana", ""="Missing")

Error: attempt to use zero-length variable name
Run Code Online (Sandbox Code Playgroud)

如果我将空字符串视为缺失值,则该函数会将其保留为空字符串。

dplyr::recode(x, "a"="Apple", "b"="Banana", .missing="Missing")

[1] "Apple"  "Banana" ""       "x"      "y"      "z"     
Run Code Online (Sandbox Code Playgroud)

如何重新编码值以获得所需的输出?

r dplyr

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