小编Cpt*_*emo的帖子

如何正确停止phantomjs执行

phantomjs使用以下内容在Python中启动和关闭

from selenium import webdriver    
driver = webdriver.PhantomJS()
driver.get(url)
html_doc = driver.page_source
driver.close()
Run Code Online (Sandbox Code Playgroud)

在脚本结束执行后,我仍然phantomjs在我的Mac Activity Monitor中找到了一个实例.实际上,每次运行脚本时phantomjs都会创建一个新进程.

我应该如何关闭驱动程序?

python macos selenium phantomjs selenium-webdriver

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

ggplot2:将图例分为两列,每列都有自己的标题

我有这些因素

require(ggplot2)
names(table(diamonds$cut))
# [1] "Fair"      "Good"      "Very Good" "Premium"   "Ideal" 
Run Code Online (Sandbox Code Playgroud)

我希望在图例中可视地划分为两组(也表示组名称):

"第一组" - >"公平","好"

"第二组" - >"非常好","高级","理想"

从这个情节开始

ggplot(diamonds, aes(color, fill=cut)) + geom_bar() + 
  guides(fill=guide_legend(ncol=2)) +
  theme(legend.position="bottom")
Run Code Online (Sandbox Code Playgroud)

我想得到

在此输入图像描述

(注意第二栏/组中"非常好"滑落)

r legend ggplot2

24
推荐指数
5
解决办法
2万
查看次数

如何从图中返回顶点ID

请考虑以下事项

library(igraph)
id <- c("1","2","A","B")
name <- c("02 653245","03 4542342","Peter","Mary")
category <- c("digit","digit","char","char")
from <- c("1","1","2","A","A","B")
to <- c("2","A","A","B","1","2")

nodes <- cbind(id,name,category)
edges <- cbind(from,to)

g <- graph.data.frame(edges, directed=TRUE, vertices=nodes)
Run Code Online (Sandbox Code Playgroud)

现在我想使用我用于从数据框创建图形的ID来访问图形的特定顶点id <- c("1","2","A","B").

假设我想访问第三个顶点 - 最初用"A"标识.有没有办法用类似的东西访问顶点

V(g)$id == "A"
Run Code Online (Sandbox Code Playgroud)

无论如何要获得idname?也就是说,如果我跑

which(V(g)$name == "Peter")
Run Code Online (Sandbox Code Playgroud)

我得到3.如何A取而代之?

r igraph

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

取消列出来自其他列的数据框列保留信息

我有一个数据框,由两列组成:字符向量col1listcol2.

myVector <- c("A","B","C","D")

myList <- list()
myList[[1]] <- c(1, 4, 6, 7)
myList[[2]] <- c(2, 7, 3)
myList[[3]] <- c(5, 5, 3, 9, 6)
myList[[4]] <- c(7, 9)

myDataFrame <- data.frame(row = c(1,2,3,4))

myDataFrame$col1 <- myVector
myDataFrame$col2 <- myList

myDataFrame
# row col1          col2
# 1   1    A    1, 4, 6, 7
# 2   2    B       2, 7, 3
# 3   3    C 5, 5, 3, 9, 6
# 4   4    D          7, …
Run Code Online (Sandbox Code Playgroud)

r list dataframe

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

ggplot2:使用grid.arrange()作为do.call()的参数定义绘图布局

我想获得一个不平衡的情节网格,如

require(ggplot2)
require(gridExtra)

df <- data.frame(value1 = rnorm(200),
                 value2 = rnorm(200),
                 value3 = rnorm(200),
                 value4 = rnorm(200))

p1 <- ggplot(df) + geom_density(aes(x=value1))
p2 <- ggplot(df) + geom_density(aes(x=value2))
p3 <- ggplot(df) + geom_density(aes(x=value3))
p4 <- ggplot(df) + geom_density(aes(x=value4))

grid.arrange(p1, arrangeGrob(p2,p3,p4, ncol=3), heights=c(2.5/4, 1.5/4), ncol=1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是使用了一个功能

myplot <- function(i){
  p <- ggplot(df) + geom_density(aes_string(x=i))
  return(p)
}
Run Code Online (Sandbox Code Playgroud)

和一个lapply电话

p <- lapply(c("value1","value2","value3","value4"), myplot)
do.call(grid.arrange, c(p))
Run Code Online (Sandbox Code Playgroud)

在这种情况下,grid.arrange将图分布在2×2矩阵中.但是我希望得到一个不平衡的布局

grid.arrange(p1, arrangeGrob(p2,p3,p4, ncol=3), heights=c(2.5/4, 1.5/4), ncol=1)
Run Code Online (Sandbox Code Playgroud)

r ggplot2 gridextra

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

R:使用tm和代理计算与术语 - 文档矩阵的余弦距离

我想计算语料库作者之间的余弦距离.我们来看一个包含20个文档的语料库.

require(tm)
data("crude")
length(crude)
# [1] 20
Run Code Online (Sandbox Code Playgroud)

我想找出这20个文件中的余弦距离(相似度).我创建了一个术语 - 文档矩阵

tdm <- TermDocumentMatrix(crude,
                          control = list(removePunctuation = TRUE,
                                         stopwords = TRUE))
Run Code Online (Sandbox Code Playgroud)

那么我将它转化成一个矩阵,它传递给dist()了的代理

tdm <- as.matrix(tdm)
require(proxy)
cosine_dist_mat <- as.matrix(dist(t(tdm), method = "cosine"))
Run Code Online (Sandbox Code Playgroud)

最后我删除了余弦距离矩阵的对角线(因为我对文档与其自身之间的距离不感兴趣)并计算每个文档与语料库的另外19个文档之间的平均距离

diag(cosine_dist_mat) <- NA
cosine_dist <- apply(cosine_dist_mat, 2, mean, na.rm=TRUE)

cosine_dist
# 127       144       191       194 
# 0.6728505 0.6788326 0.7808791 0.8003223 
# 211       236       237       242 
# 0.8218699 0.6702084 0.8752164 0.7553570 
# 246       248       273       349 
# 0.8205872 0.6495110 0.7064158 0.7494145 
# 352       353 …
Run Code Online (Sandbox Code Playgroud)

proxy r matrix tm

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

使用plot()绘制shapefile时如何设置线宽和颜色

我有一个简单的shapefile我想用一般情节绘图()(我注意到ggplot在绘制地图时非常慢).

我可以用代码正确地绘制形状

library(maptools)    
map_shp <- readShapePoly(map_filepath)
map <- fortify(map_shp)
plot(map)
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能定义线条的颜色和宽度?

maps plot r shapefile

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

sigma.js不读取JSON

我有这个页面

<html>
<head>
<style type="text/css">
  #container {
    max-width: 800px;
    height: 800px;
    margin: auto;
  }
</style>
</head>
<body>
<div id="container"></div>
<script src="sigma.min.js"></script>
<script src="plugins/sigma.parsers.json.min.js"></script>
<script>
  sigma.parsers.json('graph.json', {
    container: 'container',
    settings: {
      defaultNodeColor: '#ec5148'
    }
  });
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

它可以很好地加载这里和下面提供的第一个示例图

{
  "nodes": [
    {
      "id": "n0",
      "label": "A node",
      "x": 0,
      "y": 0,
      "size": 3
    },
    {
      "id": "n1",
      "label": "Another node",
      "x": 3,
      "y": 1,
      "size": 2
    },
    {
      "id": "n2",
      "label": "And a last one",
      "x": 1,
      "y": …
Run Code Online (Sandbox Code Playgroud)

sigma.js

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

RStudio本地+ R cloudly

有没有办法在我的机器上本地运行RStudio,但使用运行R作为引擎而不是本地R安装的远程机器?

为了清楚起见,我知道有可能将RStudio服务器与Web GUI一起使用,但我问的是不同的东西.我想使用连接到运行R的远程机器的本地RStudio应用程序(可能通过ssh).

可能吗?

ssh r rstudio rstudio-server

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

R:用paste()定义列名

问题很简单,但我找不到解决方案.

我想创建一个新的数据框,用于定义列的名称paste0.

理想情况下,我想做这样的事情(哪些不起作用).

mydataframe <- data.frame(id = 1,
                          paste0('Here_','my_','column_','name') = 'foo')
# Error: unexpected '=' in:
#   "mydataframe <- data.frame(id = 1,
#                           paste0('Here_','my_','column_','name') ="
Run Code Online (Sandbox Code Playgroud)

另外,为什么不起作用?

r dataframe

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