小编Aar*_*ron的帖子

在绘图标签中组合paste()和expression()函数

考虑这个简单的例子:

labNames <- c('xLab','yLabl')
plot(c(1:10),xlab=expression(paste(labName[1], x^2)),ylab=expression(paste(labName[2], y^2)))
Run Code Online (Sandbox Code Playgroud)

我想要的是由变量'labName,'xLab'或'yLab'定义的字符条目出现在由表达式()定义的X ^ 2或y ^ 2旁边.实际上,带有下标的实际文本"labName"将连接到上标表达式.

有什么想法吗?

plot r

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

修改ggplot2中的字体

我正在寻找一种方法来修改ggplot中的字体类型.目前我很乐意简单地将字体更改为'courier'字体系列,但最终我的目标是调用自定义字体模板 - 对后一点的任何输入都将非常感激.

我做了一些功课,看了下面的帖子和文章:

这可能是因为我仍然是ggplot2的无望业余爱好者,但我甚至无法将图表字体切换为快递.有帮助吗?我已经在下面列出了相关图表的数据以及代码,所以希望这很容易理解.

r ggplot2

58
推荐指数
4
解决办法
6万
查看次数

在ggplot2中的栏之间添加空格

亲爱的,我想在ggplot2中的栏之间添加空格.本页提供了一个解决方案:http://www.streamreader.org/stats/questions/6204/how-to-increase-the-space-between-the-bars-in-a-bar-plot-in-ggplot2.但是,此解决方案不是使用x轴分组的因子级别,而是创建一个数字序列x.seq,以手动放置条形,然后使用width()参数对它们进行缩放.但是,当我使用x轴的因子级别分组时,width()不起作用,如下例所示.

library(ggplot2)

Treatment <- rep(c('T','C'),each=2)
Gender <- rep(c('M','F'),2)
Response <- sample(1:100,4)
df <- data.frame(Treatment, Gender, Response)

hist <- ggplot(df, aes(x=Gender, y=Response, fill=Treatment, stat="identity"))
hist + geom_bar(position = "dodge") + scale_y_continuous(limits = c(0, 
    100), name = "") 
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何获得与链接示例中相同的效果,但在使用因子级别分组时?

干杯,

亚伦

r ggplot2

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

使用R中的grepl完成单词匹配

请考虑以下示例:

> testLines <- c("I don't want to match this","This is what I want to match")
> grepl('is',testLines)
> [1] TRUE TRUE
Run Code Online (Sandbox Code Playgroud)

但是,我想要的只是匹配'是',当它单独作为一个单词时.从阅读一些perl文档来看,似乎这样做的方法是使用\ b,一个锚点,可用于识别模式前后的内容,即\ bword\b匹配'word'但不匹配'sword ".所以我尝试了以下示例,使用Perl语法设置为'TRUE':

> grepl('\bis\b',testLines,perl=TRUE)
> [1] FALSE FALSE
Run Code Online (Sandbox Code Playgroud)

我正在寻找的输出是FALSE TRUE.

regex r grepl

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

如何用R下载盘中股市数据

所有,

我希望以15-60分钟的间隔从雅虎或谷歌下载股票数据,以获得尽可能多的历史记录.我想出了一个粗略的解决方案如下:

library(RCurl)
tmp <- getURL('https://www.google.com/finance/getprices?i=900&p=1000d&f=d,o,h,l,c,v&df=cpct&q=AAPL')
tmp <- strsplit(tmp,'\n')
tmp <- tmp[[1]]
tmp <- tmp[-c(1:8)]
tmp <- strsplit(tmp,',')
tmp <- do.call('rbind',tmp)
tmp <- apply(tmp,2,as.numeric)
tmp <- tmp[-apply(tmp,1,function(x) any(is.na(x))),]
Run Code Online (Sandbox Code Playgroud)

鉴于我想要导入的数据量,我担心这可能在计算上很昂贵.我也不了解我的生活,了解雅虎和谷歌的时间戳是如何编码的.

所以我的问题是双重的 - 将一系列股票的数据快速提取到R中的简单,优雅的方法是什么,以及如何解释我将使用的Google/Yahoo文件的时间戳?

finance r stockquotes quandl

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

ggplot2中标签文本条目中的不同字体和大小

我正在构建在轴文本中有两行的图表.第一行包含组名称,第二行包含该组人口.我将我的轴标签构建为单个字符串,格式为"LINE1 \n LINE2".是否可以为LINE1和LINE2分配不同的字体和大小,即使它们包含在单个字符串中?我希望LINE1大而粗,LINE2小而且不受约束.

这是一些示例代码:

Treatment <- rep(c('T','C'),each=2)
Gender <- rep(c('Male','Female'),2)
Response <- sample(1:100,4)
test_df <- data.frame(Treatment, Gender, Response)

xbreaks <- levels(test_df$Gender)
xlabels <- paste(xbreaks,'\n',c('POP1','POP2'))

hist <- ggplot(test_df, aes(x=Gender, y=Response, fill=Treatment, stat="identity"))
hist + geom_bar(position = "dodge") + scale_y_continuous(limits = c(0, 
    100), name = "") + scale_x_discrete(labels=xlabels, breaks = xbreaks) + 
    opts(
      axis.text.x = theme_text(face='bold',size=12)
      )
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但结果是一个大的粗体条目和一个小的,无条件的条目:

hist + geom_bar(position = "dodge") + scale_y_continuous(limits = c(0, 
     100), name = "") + scale_x_discrete(labels=xlabels, breaks = xbreaks) + 
     opts(
      axis.text.x = theme_text(face=c('bold','plain'),size=c('15','10'))
     ) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

是否可以使用OpenCV将视频从https://(例如YouTube)流式传输到python中?

这个链接有一个很简单的例子,说明如何使用python的OpenCV库,cv2将数据从摄像头传输到你的python shell.我希望做一些实验,并想用以下YouTube视频输入:https://www.youtube.com/watch?v=oCUqsPLvYBQ.

我尝试过如下调整示例:

import numpy as np
import cv2

cap = cv2.VideoCapture('https://www.youtube.com/watch?v=oCUqsPLvYBQ')

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Display the resulting frame
    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
Run Code Online (Sandbox Code Playgroud)

哪会产生错误:

WARNING: Couldn't read movie file https://www.youtube.com/watch?v=oCUqsPLvYBQ
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /tmp/opencv20160107-29960-t5glvv/opencv-2.4.12/modules/highgui/src/window.cpp, line 261
Run Code Online (Sandbox Code Playgroud)

是否有一个简单的修复程序,允许我通过这个视频源流到我的python shell cv2cv2如果有其他库可以达到同样的目的,也不是绝对致力于.

python youtube video opencv

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

将气流调度程序作为守护进程运行的问题

我有一个运行气流1.8.0的EC2实例LocalExecutor.根据文档,我预计以下两个命令之一会以守护进程模式引发调度程序:

airflow scheduler --daemon --num_runs=20

要么

airflow scheduler --daemon=True --num_runs=5

但事实并非如此.第一个命令似乎会起作用,但它只返回以下输出,然后返回终端而不产生任何后台任务:

[2017-09-28 18:15:02,794] {__init__.py:57} INFO - Using executor LocalExecutor
[2017-09-28 18:15:03,064] {driver.py:120} INFO - Generating grammar tables from /usr/lib/python3.5/lib2to3/Grammar.txt
[2017-09-28 18:15:03,203] {driver.py:120} INFO - Generating grammar tables from /usr/lib/python3.5/lib2to3/PatternGrammar.txt
Run Code Online (Sandbox Code Playgroud)

第二个命令产生错误:

airflow scheduler: error: argument -D/--daemon: ignored explicit argument 'True'
Run Code Online (Sandbox Code Playgroud)

这是奇怪的,因为根据文档 --daemon=True应该是airflow scheduler调用的有效参数.

深入挖掘了我的StackOverflow帖子,其中一个响应建议systemd根据此repo可用的代码执行处理气流调度程序作为后台进程.

我对脚本的轻微修改后的修改将发布为以下Gists.我在Ubuntu 16.04.3上使用vanilla m4.xlarge EC2实例:

从那里我打电话给:

sudo systemctl enable airflow-scheduler
sudo …
Run Code Online (Sandbox Code Playgroud)

python amazon-ec2 airflow ubuntu-16.04 apache-airflow

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

如何在AWS lambda上安装pymysql

我一直在这里这里看,因为我一直在努力研究如何pymysql在AWS lambda上运行.到目前为止我看过的例子都非常复杂,在我开始遇到权限错误之前,我已经使用GitHub教程了解IAM,我不知道如何解决.

从字面上看,我希望能够做的就是import pymysql在预构建的AWS lambda控制台模板中调用.

这似乎是一个简单的问题,但我很难找到一个明确的,逐步的工作,通过如何获得新的依赖项来为我的lambda函数工作.理想情况下,该示例不会通过AWS CLI,因为显然有一个控制台选项,这似乎需要一些令人头疼的过程.

干杯,

亚伦

python lambda amazon-s3 amazon-web-services aws-lambda

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

如何配置RStudio包构建以跨多台计算机工作

这个问题已经被问由RStudio帮助页面上的其他用户在这里,但至今未收到答复.

基本上,我已经完成了所有步骤:

(1)安装Xcode

(2)下载并安装了命令行工具

(3)安装MacTex

(4)选择包含R包的目录及附带的描述文件.

这个包在我第一次用来构建它的Mac上编译得很好.然而,现在我被告知RStudio无法检测到描述文件,即使它正好位于构建目录中.我附上了截图.

我得到的错误信息是:

ERROR: The build directory does not contain a DESCRIPTION file so cannot be built as a package.
Run Code Online (Sandbox Code Playgroud)

谁知道我错过了什么?我附上了截图供参考.完全披露:这适用于商业应用.

箭头指出构造目录中存在DESCRIPTION文件

r rstudio roxygen2

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