小编Jus*_*yna的帖子

根据r中的属性条件删除顶点

我正在使用一个有121个顶点和209个边的图,我试图从这个图中删除满足两个条件的顶点:

  1. degree(my.graph)==0
  2. 顶点的名称以指定的字符开头.

这是一个显示我想要的内容的示例.从下图:

toy.graph <- graph.formula(121-221,121-345,121-587,345-587,221-587, 490, 588)
Run Code Online (Sandbox Code Playgroud)

我想删除以0开头的度数为0的顶点.在这种情况下,我想只删除顶点588(但不是490和587).我知道如何从5开始删除顶点:

delete.vertices(toy.graph,V(toy.graph)$name 
                %in% grep("^5",V(toy.graph)$name,value=T))
Run Code Online (Sandbox Code Playgroud)

以及如何删除0度的顶点:

delete.vertices(toy.graph, V(toy.graph)[degree(toy.graph)==0])
Run Code Online (Sandbox Code Playgroud)

但是当我试图将这两个条件放在一起时,就是这样

delete.vertices(toy.graph, V(toy.graph)$name %in%     
                grep("^5",V(toy.graph)$name,value=T) 
                && V(toy.graph)[degree(toy.graph)==0])
Run Code Online (Sandbox Code Playgroud)

它不起作用,我得到了完整的图表.是否有一种特殊的方法来组合多个条件来删除顶点?

谢谢!

r igraph sna

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

使用 igraph 绘制网络时出现巨大的箭头

编辑 我试图找出我的代码有什么问题,我开始绘制简单的图形以查看箭头在较小图形上的外观。我厌倦了以下命令:

 g2 <- graph( edges=c(1,2, 2,3, 3, 1), n=10 ) 
 plot(g2)   
Run Code Online (Sandbox Code Playgroud)

这是我的图表: . 因此,我认为问题不在于我的代码,而在于 igraph 或 R。我重新安装了 igraph 和 R,但没有解决问题。是否可能存在导致此问题的软件包冲突?这是我安装的一些软件包:

 [1] "base"         "boot"         "class"        "cluster"     
 [5] "codetools"    "colorspace"   "compiler"     "datasets"    
 [9] "dichromat"    "digest"       "doParallel"   "foreach"     
[13] "foreign"      "graphics"     "grDevices"    "grid"        
[17] "gridBase"     "gtable"       "igraph"       "irlba"       
[21] "iterators"    "KernSmooth"   "labeling"     "lattice"     
[25] "lazyeval"     "magrittr"     "MASS"         "Matrix"      
[29] "methods"      "mgcv"         "munsell"      "nlme"        
[33] "NMF"          "nnet"         "parallel"     "pkgmaker"    
[37] "plyr"         "RColorBrewer" "Rcpp"         "registry"    
[41] "reshape2"     "rngtools"     "rpart"        "scales"      
[45] "spatial"      "splines"      "stats" …
Run Code Online (Sandbox Code Playgroud)

plot social-networking igraph

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

增加 rmarkdown 中绘图之间的间距

我正在尝试将两个图形绘制在一行中,并且我想增加它们之间的空间。我搜索了这个论坛和其他一些网站,但我发现的选项似乎都不起作用。更改maimaroma值会移动所有内容,但空间保持不变。我怎样才能保持数字现在的样子(尺寸方面),但增加它们之间的差距?

这是我的代码:

```{r echo=FALSE, fig.width=6, fig.height=6}
g.erd <- erdos.renyi.game(100, 150, type="gnm")
par(mfrow = c(1, 2),  mai = c(1, 0.1, 0.1, 0.1))
plot(g.erd, layout=layout.circle, vertex.label=NA)
```

```{r echo=FALSE, fig.width=3, fig.height=3.5}
hist(degree(g.erd), xlab="Degree", ylab="Frequency", main="")
par(mfrow = c(1, 1))  
```
Run Code Online (Sandbox Code Playgroud)

这是我的情节现在的样子:https ://i.stack.imgur.com/V2Fc7.png

plot r r-markdown

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

在RStudio中打印太大的传奇盒子

我试图在我的情节中添加一个图例,我不明白为什么我无法控制它的大小和/或位置.我知道有很多关于它的帖子,但我已经尝试重现解决方案,无论出于何种原因,它似乎在我的RStudio中都不起作用.这是我尝试过的:

  1. 如何在R中的图例框中缩放图例框或放大字体大小

以下是我运行完全相同的代码时我的情节的样子(你可以看到图例位于图中间):我的情节-1

我还尝试运行RI中提供的一些示例代码,也获得了看起来很好的情节.例如,我的情节:

x <- seq(-pi, pi, len = 65)
plot(x, sin(x), type = "l", col = 2, xlab = expression(phi),
     ylab = expression(f(phi)))
abline(h = -1:1, v = pi/2*(-6:6), col = "gray90")
lines(x, cos(x), col = 3, lty = 2)
ex.cs1 <- expression(plain(sin) * phi,  paste("cos", phi))  # 2 ways
utils::str(legend(-3, .9, ex.cs1, lty = 1:2, plot = FALSE,
           adj = c(0, 0.6)))  # adj y !
legend(-3, 0.9, ex.cs1, lty = 1:2, col = 2:3,  adj …
Run Code Online (Sandbox Code Playgroud)

plot r legend-properties

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