小编use*_*945的帖子

改进节点标签上的下标和上标的定位

在节点标签上同时使用下标和上标时,是否可以更改定位,使它们直接位于彼此之上.

例:

digraph G {
        x11[label=<X<SUB>1</SUB><SUP>(1)</SUP>>];   
        x21[label=<X<SUB>2</SUB><SUP>(1)</SUP>>];
        x11 -> x21 
    }
Run Code Online (Sandbox Code Playgroud)

哪个产生

在此输入图像描述

是否有可能(#)直接在上方#而不是略微向右?谢谢


我尝试添加一个自定义css脚本(re:HTML:我可以将下标文本放在上标吗?下)到我的dot脚本中stylesheet = "styles.css";(re:在Graphviz上的HTML标签中使用CSS类),但是,它会返回错误

错误:<span>第1行上的未知HTML元素

dot graphviz

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

使用R下载压缩数据文件,解压缩并导入.csv

我正在尝试使用R从网页下载并提取.csv文件.

此问题与使用R下载压缩数据文件,提取和导入数据重复.

我无法使解决方案工作,但可能是由于我正在使用的网址.

我试图从http://data.worldbank.org/country/united-kingdom下载.csv文件(在下载数据下拉列表下)

使用上面链接中的@Dirk解决方案,我试过了

temp <- tempfile()
download.file("http://api.worldbank.org/v2/en/country/gbr?downloadformat=csv",temp)
con <- unz(temp, "gbr_Country_en_csv_v2.csv")
dat <- read.table(con, header=T, skip=2)
unlink(temp)
Run Code Online (Sandbox Code Playgroud)

我通过查看页面源代码获得了扩展链接,我期望它会导致问题,尽管如果我将其粘贴到地址栏中它会起作用.

该文件使用正确的Gb下载

download.file("http://api.worldbank.org/v2/en/country/gbr?downloadformat=csv",temp)
# trying URL 'http://api.worldbank.org/v2/en/country/gbr?downloadformat=csv'
# Content type 'application/zip' length 332358 bytes (324 Kb)
# opened URL
# downloaded 324 Kb

# also tried unzip but get this warning
con <- unzip(temp, "gbr_Country_en_csv_v2.csv")
# Warning message:
# In unzip(temp, "gbr_Country_en_csv_v2.csv") :
# requested file not found in the zip file
Run Code Online (Sandbox Code Playgroud)

但是当我手动下载它们时,这些是文件名. …

csv zip r download

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

防止fread()中的列类推断

有没有一种方式,fread模仿的行为read.table,由此class变量是由在读取的数据集.

我有数据,主要数据下面有一些注释.当我fread用来读入数据时,列将转换为字符.但是,通过设置nrowread.table`我可以阻止此行为.这有可能在恐惧中.(我宁愿不改变原始数据或修改副本).谢谢

一个例子

d <- data.frame(x=c(1:100, NA, NA, "fff"), y=c(1:100, NA,NA,NA)) 
write.csv(d, "test.csv",  row.names=F)

in_d <- read.csv("test.csv", nrow=100, header=T)
in_dt <- data.table::fread("test.csv", nrow=100)
Run Code Online (Sandbox Code Playgroud)

哪个产生

> str(in_d)
'data.frame':   100 obs. of  2 variables:
 $ x: int  1 2 3 4 5 6 7 8 9 10 ...
 $ y: int  1 2 3 4 5 6 7 8 9 10 ...
> str(in_dt)
Classes ‘data.table’ and 'data.frame':  100 obs. of  2 …
Run Code Online (Sandbox Code Playgroud)

r read.table data.table

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

为ggplot定义新的比例轴变换

我正在尝试squared使用y轴创建变换scales::trans_new但是遇到了错误.

MWE

data = data.frame(x = 1:10, y = runif(10), z=rnorm(10, 10))

library(ggplot2)
ggplot(data, aes(x, y, size=z)) +
geom_point() +
scale_y_continuous(trans=scales::trans_new("sq", function(x) x^2, function(x) x^(1/2)))
Run Code Online (Sandbox Code Playgroud)

给出了错误

if(zero_range(as.numeric(limits))){:
缺少值需要TRUE/FALSE时出错

我尝试添加limits,domain但得到了同样的错误.

scale_y_continuous(trans=scales::trans_new("sq", function(x) x^2, function(x) x^(1/2)), limits=c(0,1))
scale_y_continuous(trans=scales::trans_new("sq", function(x) x^2, function(x) x^(1/2), domain=c(0,1)), limits=c(0,1))
Run Code Online (Sandbox Code Playgroud)

它似乎inverse是导致错误的论据 - 但所有的价值观y都是积极的,所以我不明白.我该怎么办?

r ggplot2

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

三级嵌套混合效果模型

我试图模拟一个三级嵌套线性混合效应模型rjags (通过三个级别:多个组内的多个人的多个观察).团体中有各种独特的个体.

在等效模型lme4

lmer(yN ~ x + (1 |group/indiv), data=qq)
Run Code Online (Sandbox Code Playgroud)

要么

lmer(yN ~ x + (1 |group) + (1|indiv), data=qq)
Run Code Online (Sandbox Code Playgroud)

我的问题是:我如何编程这个模型rjags.


这是我对rjags代码的尝试,它编译并执行,但个别级别的随机效果似乎受到了太多的惩罚 - 足以表明它编码错误.

st <- "
model {

  for(i in 1:n){
      mu[i] <- beta[1] + b1[ind[i]] + b2[group[i]] + beta[2]* x[i] 
      y[i] ~ dnorm(mu[i], tau)
  }

  for(i in 1:2){  beta[i] ~ dnorm(0, 0.0001)  }

  tau ~ dgamma(0.01, 0.01)
  sigma <- sqrt(1/tau) 

  # hierarchical model
  for (i in 1:nInd) { b1[i] ~ …
Run Code Online (Sandbox Code Playgroud)

r jags winbugs rjags

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

Rcpp 矢量线程与 OpenMP 一起使用是否安全?

我使用 Rcpp 和 OpenMP 在 C++ 中进行并行计算。我读过在 Rcpp::List 线程中访问/设置元素安全吗?看来在线程代码块中使用 Rcpp 是危险的。但在 for 循环中读取或写入 Rcpp NumericVectors 是很常见的,例如https://gallery.rcpp.org/articles/hierarchical-risk-parity/

下面是我写的。任务很简单。我首先在(并行)for 循环之外声明NumericVector一个具有大尺寸的a 。n我做了一些计算并填充NumericVector使用索引的每个元素i。完成后,我计算出所需的分位数。

#include <Rcpp.h>
#include <omp.h>

// [[Rcpp::export]]
double foo(const int n, const int nthreads) {

  Rcpp::NumericVector out(n);
  #pragma omp parallel for num_threads(nthreads)
  for (int i = 0; i < n; ++i) {
    out[i] = doSomething();
  }

  Rcpp::Environment stats("package:stats");
  Rcpp::Function quantile = stats["quantile"];
  return Rcpp::as<double>(quantile(out, Rcpp::Named("probs") = 0.95));
}
Run Code Online (Sandbox Code Playgroud)

我有两个问题。

  1. 是否有任何理由使用其他容器(例如 …

c++ multithreading r rcpp

5
推荐指数
0
解决办法
334
查看次数

从网页递归下载zip文件(Windows)

是否可以从网页下载所有zip文件,而无需一次指定一个链接.

我想从http://download.companieshouse.gov.uk/en_monthlyaccountsdata.html下载所有月度帐户zip文件.

我使用的是Windows 8.1,R3.1.1.我没有wget在PC上,所以不能使用递归调用.

替代方案: 作为一种解决方法,我尝试下载网页文本本身.然后我想提取每个zip文件的名称,然后我可以download.file在循环中传递给它.但是,我正在努力提取名称.

pth <- "http://download.companieshouse.gov.uk/en_monthlyaccountsdata.html"

temp <- tempfile()
download.file(pth,temp)
dat <- readLines(temp)
unlink(temp)

g <- dat[grepl("accounts_monthly", tolower(dat))]
Run Code Online (Sandbox Code Playgroud)

g 包含具有文件名的字符串,以及其他字符.

g
 [1] "                    <li><a href=\"Accounts_Monthly_Data-September2013.zip\">Accounts_Monthly_Data-September2013.zip  (775Mb)</a></li>"
 [2] "                    <li><a href=\"Accounts_Monthly_Data-October2013.zip\">Accounts_Monthly_Data-October2013.zip  (622Mb)</a></li>" 
Run Code Online (Sandbox Code Playgroud)

我想提取文件的名称Accounts_Monthly_Data-September2013.zip等等,但我的正则表达式非常糟糕(请亲自看看)

    gsub(".*\\>(\\w+\\.zip)\\s+", "\\1", g)
Run Code Online (Sandbox Code Playgroud)

数据

g <- c("                    <li><a href=\"Accounts_Monthly_Data-September2013.zip\">Accounts_Monthly_Data-September2013.zip  (775Mb)</a></li>", 
"                    <li><a href=\"Accounts_Monthly_Data-October2013.zip\">Accounts_Monthly_Data-October2013.zip  (622Mb)</a></li>"
)
Run Code Online (Sandbox Code Playgroud)

regex r download

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

使用Graphviz创建简单的流程图

我正在尝试使用设置位置的节点创建流程图.我正在使用不可见的节点来尝试强制边缘的方向.我的图表如下.它并不完全正确,因为我想从节点出来的线条d,和周围的边缘,从cd是连续的(直).

我怎样才能使线条全部加入?谢谢

在此输入图像描述

我的代码重现

digraph g1 {

  graph [splines=false];

  // invisible nodes
  node[fontsize=15, shape = box, width=3, height=0] ;
  i1 [ style="invis"];
  i2 [ style="invis"];
  i3 [ style="invis"];
  i4 [ style="invis"];

  node[fontsize=15, color = black, shape = box, width=3, height=1] ;
  a[color=blue, label="a"];
  b[color=green, label="b"];
  c[color=orange, label="c"]; 
  d[color=red, label="d"] ;       

  {rank=same; a -> b -> c};

  {rankdir = TB;    c -> i1[arrowhead=none];
        i1 -> d[label="  FOR EACH\n\n"]; 
        d -> i2[arrowhead=none];
  };

  {rank=same; i3 -> i2[arrowhead=none] …
Run Code Online (Sandbox Code Playgroud)

flowchart graphviz

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

使用 ggplot facets 时增加闪亮的绘图大小

有没有办法根据图形shiny中使用的方面的数量增加绘图窗口的大小ggplot- 可能使用垂直滚动。

例如,使用下面的示例,当输入是"A"三个方面时,图看起来不错。选择选项时"B",绘图的数量增加,但绘图窗口保持相同的尺寸,从而导致绘图太小。

是否有一种策略可以保持所有面板高度相同,独立于输入?谢谢。

library(ggplot2)
library(shiny)

mtcars$cyl = sample(letters[1:5], 32, TRUE)

 ui <- fluidPage(
         navbarPage(title="title",
           tabPanel("One", 
                    column(3, 
                           wellPanel( selectInput('name', 'NAME', c("A", "B")))),
                    column(9, plotOutput('plot1')))
   ))


server <- function(input, output) {

    X = reactive({input$name == "A"})

        output$plot1 <- renderPlot({

          if(X()){
             p1 = ggplot(mtcars, aes(mpg, wt)) + facet_grid( . ~ gear )
          }else{
            p1 = ggplot(mtcars, aes(mpg, wt)) + facet_grid( cyl  ~ gear )
          }
          return(p1)})
    }



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

r ggplot2 shiny

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

从 Rcpp 获取与基数 R 相同的整数样本

是否有可能从基数 R 中得到相同sample的整数?Rcppsample

我试过使用Rcpp::sampleandRcpp::RcppArmadillo::sample但它们没有返回相同的值——下面的示例代码。此外,帖子https://gallery.rcpp.org/articles/using-the-Rcpp-based-sample-implementation/快速示例部分从R 和基础 R返回相同的样本,但是,我无法重现这些结果(我最后附上此代码)。Rcpp

可以这样做/我做错了什么吗?

我的尝试:

// [[Rcpp::depends(RcppArmadillo)]]
#include <RcppArmadillo.h>
#include <RcppArmadilloExtensions/sample.h>

// [[Rcpp::export]]
Rcpp::IntegerVector mysamp1( int n) {
  Rcpp::IntegerVector v = Rcpp::sample(n, n);
  return v;
}

// [[Rcpp::export]]
Rcpp::IntegerVector mysamp2(int n) {  
  Rcpp::IntegerVector i = Rcpp::seq(1,n);
  Rcpp::IntegerVector v = wrap(Rcpp::RcppArmadillo::sample(i,n,false));
  return v;
}

// set seed /sf/ask/3025517701/
// [[Rcpp::export]]
void set_seed(double seed) {
  Rcpp::Environment base_env("package:base");
  Rcpp::Function set_seed_r = base_env["set.seed"];
  set_seed_r(std::floor(std::fabs(seed)));
}

// [[Rcpp::export]]
Rcpp::IntegerVector …
Run Code Online (Sandbox Code Playgroud)

r rcpp rcpparmadillo

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

获取图形中的父节点的度数

我有一个图表,我想为每个节点计算其父节点的程度.

这是一个例子,

在此输入图像描述

在这个例子中,节点9的程度将是9,来自节点19的5个连接和来自节点-3的4个连接; 对于node-5,它将是3,因为它的父节点-13有3个连接.

我想计算一个节点的开始度(例如节点-19),并根据节点2的父节点计算度数,并且距节点19有3步.

我正在考虑使用该功能,ego但它也在步骤2和3中给了我父母的父母.

有帮助吗?

r igraph

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