小编M--*_*M--的帖子

我们如何制作xkcd样式图?

显然,民间已经想出了如何在MathematicaLaTeX中制作xkcd风格的图形.我们可以用R做吗?GGPLOT2-ERS?一个geom_xkcd和/或theme_xkcd?

我想在基本图形中,par(xkcd = TRUE)?我该怎么做?

XKCD#1064

作为ggplot2中的第一个刺(并且在下面更加优雅地显示),将jitter参数添加到一行可以获得很好的手绘外观.所以 -

ggplot(mapping=aes(x=seq(1,10,.1), y=seq(1,10,.1))) + 
  geom_line(position="jitter", color="red", size=2) + theme_bw()
Run Code Online (Sandbox Code Playgroud)

这是一个很好的例子 - 但轴和字体显得比较棘手.但是,字体显示已解决(下方).处理轴的唯一方法是将它们清空并用手绘制它们吗?有更优雅的解决方案吗?特别是在ggplot2中,是否可以修改新主题系统中的element_line以获取类似抖动的参数?

plot r ggplot2

682
推荐指数
7
解决办法
8万
查看次数

子集化数据帧中的丢弃因子级别

我有一个包含因子的数据框.当我使用factor或另一个索引函数创建此数据框的子集时,会创建一个新的数据框.但是,因子变量保留其所有原始级别 - 即使它们不存在于新数据框中.

这在进行分面绘图或使用依赖于因子水平的函数时会产生麻烦.

在我的新数据框中从一个因子中删除级别的最简洁方法是什么?

这是我的例子:

df <- data.frame(letters=letters[1:5],
                    numbers=seq(1:5))

levels(df$letters)
## [1] "a" "b" "c" "d" "e"

subdf <- subset(df, numbers <= 3)
##   letters numbers
## 1       a       1
## 2       b       2
## 3       c       3    

# all levels are still there!
levels(subdf$letters)
## [1] "a" "b" "c" "d" "e"
Run Code Online (Sandbox Code Playgroud)

r dataframe r-faq r-factor

510
推荐指数
11
解决办法
36万
查看次数

绘制2 y轴,左侧为y轴,右侧为y轴

我需要绘制一个显示计数的条形图和一个在一个图表中显示速率的折线图,我可以分别做两个,但是当我把它们放在一起时,我的第一层的比例(即geom_bar)与第二层重叠层(即geom_line).

我可以将轴geom_line向右移动吗?

r ggplot2 r-faq

209
推荐指数
12
解决办法
25万
查看次数

在命令行(终端)上使用R脚本的最佳方法是什么?

使用R脚本从命令行执行简单绘图非常方便.但是,从bash脚本运行R并不方便.理想可能是这样的

#!/path/to/R
...
Run Code Online (Sandbox Code Playgroud)

要么

#!/usr/bin/env R
...
Run Code Online (Sandbox Code Playgroud)

但我无法完成其中任何一项工作.

另一个选择是将脚本纯粹保存在R中,例如script.R,并使用R --file=script.R或类似地调用它.但是,有时脚本会依赖于模糊的命令行开关,此时代码的一部分存在于脚本之外.例如:通过本地.Rprofile将事物从bash偷偷带入R中,所需的开关就是一切--vanilla意味着除外--no-init-file.

另一种选择是用于存储R标志的bash脚本,并且可以无痛地执行,然后调用R脚本.问题是,这意味着单个程序被分成两个文件,现在必须保持同步,一起转移到新机器等.

我目前最鄙视的选项是将R嵌入到bash脚本中:

#!/bin/bash
... # usage message to catch bad input without invoking R
... # any bash pre-processing of input
... # etc
R --random-flags <<RSCRIPT
# R code goes here
RSCRIPT
Run Code Online (Sandbox Code Playgroud)

一切都在一个文件中.它是可执行的,可以轻松处理参数.问题是像这样结合bash和R几乎消除了任何IDE不会在一个或另一个上失败的可能性,并且让我的心脏受到伤害.

我错过了一些更好的方法吗?

bash r

112
推荐指数
5
解决办法
12万
查看次数

您不能为现有 IPv4 CIDR 规则指定引用的组 ID。在AWS安全组中编辑入站规则时出现提示

在AWS EC2中,我在EC2实例前面启动一个经典负载均衡器(EC2实例的安全组是launch-wizard-3)。

我想更改EC2实例安全组的入站规则。还启动了Classical Load Balancer 的安全组(其名称为my-first-load-balancer-sg )。当我将launch-wizard-3的入站规则的来源更改为my-first-load-balancer-sg 时,提示以下错误。

您不能为现有 IPv4 CIDR 规则指定引用的组 ID。

入站规则如下

(类型-HTTP、协议-TCP、端口 rang-80、源类型-自定义、源- my-first-load-balancer-sg(我想要放置的内容))

我多次尝试解决它,但我无法解决。

load-balancing amazon-web-services ec2-ami aws-security-group

99
推荐指数
2
解决办法
8万
查看次数

如何在Tesseract和OpenCV之间进行选择?

我最近遇到了TesseractOpenCV.看起来Tesseract是一个成熟的OCR引擎,OpenCV可以用作创建OCR应用程序/服务的框架.

我尝试在我的一些图像上使用Tesseract,它的准确性似乎不错.后来,我遇到了一个非常简单的使用OpenCV来使用Python执行OCR的教程,并给人留下了深刻的印象.几分钟后,我完成了系统的培训,其准确性很好.但是,当然,采用这种方法意味着我需要使用大型训练集来广泛训练我的系统.

我的具体问题如下:

  • 如何在Tesseract和使用OpenCV构建自定义OCR应用程序之间进行选择?
  • 有针对不同语言的Tesseract提供的培训数据集.OpenCV是否有类似的东西,以便我不必开始实现OCR?
  • 对于想成为商业应用程序哪个更好?

有什么建议?

注意:我24小时在计算机视觉领域,但我愿意花时间和精力学习先决条件.

python ocr opencv tesseract computer-vision

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

如何替换表*中的NA值以用于所选列*?data.frame,data.table

有很多关于替换NA值的帖子.我知道可以用以下内容替换下表/框架中的NA:

x[is.na(x)]<-0
Run Code Online (Sandbox Code Playgroud)

但是,如果我想将其限制为仅某些列,该怎么办?让我给你看一个例子.

首先,让我们从数据集开始.

set.seed(1234)
x <- data.frame(a=sample(c(1,2,NA), 10, replace=T),
                b=sample(c(1,2,NA), 10, replace=T), 
                c=sample(c(1:5,NA), 10, replace=T))
Run Code Online (Sandbox Code Playgroud)

这使:

    a  b  c
1   1 NA  2
2   2  2  2
3   2  1  1
4   2 NA  1
5  NA  1  2
6   2 NA  5
7   1  1  4
8   1  1 NA
9   2  1  5
10  2  1  1
Run Code Online (Sandbox Code Playgroud)

好的,所以我只想将替换限制为列'a'和'b'.我的尝试是:

x[is.na(x), 1:2]<-0
Run Code Online (Sandbox Code Playgroud)

和:

x[is.na(x[1:2])]<-0
Run Code Online (Sandbox Code Playgroud)

哪个不起作用.

我的data.table尝试,在哪里y<-data.table(x),显然永远不会起作用:

y[is.na(y[,list(a,b)]), ]
Run Code Online (Sandbox Code Playgroud)

我想在is.na参数中传递列,但显然不起作用.

我想在data.frame和data.table中执行此操作.我的最终目标是在'a'和'b'中将1:2重新编码为0:1,同时保持'c'的方式,因为它不是逻辑变量.我有一堆列,所以我不想一个接一个地做.而且,我只想知道如何做到这一点.

你有什么建议吗?

replace r dataframe na data.table

71
推荐指数
4
解决办法
11万
查看次数

旅行时间以下所有点的地图?

我的问题非常简单,可以在一行中理解:

是否有方法,工具等使用谷歌地图来获得低于特定旅行时间的所有表面的叠加?

我希望问题很清楚,但我不能在网上找到任何相关内容.

如果您有任何信息,我会接受!

更新:

以下是我通过示例说明的含义:

我寻找一个新的居住地.我知道我办公室的确切地址.在这种情况下,我会在谷歌地图上覆盖一段时间的旅行(比如开车30分钟).我们会在高速公路周围涂上一条长长的表面(因为你变快了),以及道路周围的颜色.

python google-maps travel-time

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

用最近的非NA按组替换缺失值(NA)

我想用dplyr解决以下问题.优选具有一个窗口功能.我有一个房屋和购买价格的数据框架.以下是一个例子:

houseID      year    price 
1            1995    NA
1            1996    100
1            1997    NA
1            1998    120
1            1999    NA
2            1995    NA
2            1996    NA
2            1997    NA
2            1998    30
2            1999    NA
3            1995    NA
3            1996    44
3            1997    NA
3            1998    NA
3            1999    NA
Run Code Online (Sandbox Code Playgroud)

我想建立一个这样的数据框:

houseID      year    price 
1            1995    NA
1            1996    100
1            1997    100
1            1998    120
1            1999    120
2            1995    NA
2            1996    NA
2            1997    NA
2            1998    30 …
Run Code Online (Sandbox Code Playgroud)

r r-faq dplyr

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

使用Google Maps API获取旅行时间数据

我使用谷歌地图api遇到的所有例子似乎都显示了某种地图.当您要求从A到B进入某个站点的道路描述时,我想通过他们为您提供的汽车估计行程时间数据.而且只有那些数据.是否可以在不为最终访问者加载地图的情况下?

api google-maps travel-time

33
推荐指数
5
解决办法
9万
查看次数