小编Jus*_*ter的帖子

在knitr中指定多个同时输出格式

我希望能够同时指定多种输出格式,例如html_document和pdf_document.我知道这可以通过类似的东西非常简单地完成

---
  output: [html_document, pdf_document]
---
Run Code Online (Sandbox Code Playgroud)

我可能有一些语法,但我似乎无法在任何地方找到文档.我最近发现了knitr-bootstrap并且喜欢它.这是我一直在寻找的能够动态隐藏我的代码和输出块.不幸的是,默认情况下,knitr-bootstrap调用的YAML块非常复杂,我不知道如何为此指定多个输出.我看过YAML规范并尝试了一些不同的东西,但我不知所措.以下是我目前的YAML前线.任何帮助都会非常感激.


title: "Beta Regression Comparison"
opset: bootstrap
output:
  knitrBootstrap::bootstrap_document:
    title: "Beta Regression Comparison"
    theme: Simplex
    highlight: Solarized - Light
    theme.chooser: FALSE
    highlight.chooser: FALSE
    menu: FALSE
  pdf_document
---
Run Code Online (Sandbox Code Playgroud)

r knitr

33
推荐指数
1
解决办法
4358
查看次数

在Shiny中获取窗口的大小

我想确定Shiny浏览器窗口的大小,以帮助我更好地布局我的情节div.具体来说,我想确定窗口的宽高比,看看我应该在屏幕上分布多少div,它看起来还不错.我最初的想法是情节的数量floor(width/(height-navbar_height)).

我做了一些寻找这个,我目前无法找到一个可能的解决方案,目前我认为这个功能根本不存在于clientData结构中.有什么想法吗?

r shiny

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

无法在R中加载新的ggplot2

我刚刚升级到新的ggplot2包(2.0.0)并在我尝试加载时不断收到错误.

> library(ggplot2)
Error in get(method, envir = home) : 
  lazy-load database 'C:/Users/<blahblahblah>/Documents/R/win-library/3.2/ggplot2/R/ggplot2.rdb' is corrupt
In addition: Warning messages:
1: package ‘ggplot2’ was built under R version 3.2.3 
2: In .registerS3method(fin[i, 1], fin[i, 2], fin[i, 3], fin[i, 4],  :
  restarting interrupted promise evaluation
3: In get(method, envir = home) :
  restarting interrupted promise evaluation
4: In get(method, envir = home) : internal error -3 in R_decompress1
Error: package or namespace load failed for ‘ggplot2’
Run Code Online (Sandbox Code Playgroud)

我能够在R中加载其他软件包,比如dplyr,这意味着我的"R_decompress1"函数应该没有任何问题,因为所有软件包都需要它.然后我认为CRAN上的二进制文件可能已损坏(不太可能,但检查起来很容易).我使用github页面上的建议方法从当前源安装.

> devtools::install_github("hadley/ggplot2")
Run Code Online (Sandbox Code Playgroud)

干净地完成后,我收到以下错误(类似于前一个)

> library(ggplot2) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

如何让ggplot2中的图例与我的情节高度相同?

我使用ggplot2(版本0.9.3.1)在R(版本R版本3.0.1(2013-05-16))中生成了一个简单的图,显示了一组数据的相关系数.目前,绘图右侧的图例颜色条是整个绘图大小的一部分.

我希望图例颜色条与图表的高度相同.我以为我可以用它legend.key.height来做这个,但我发现事实并非如此.我调查了gridunit函数,发现那里有一些标准化单位,但是当我尝试它们时(unit(1, "npc")),颜色条太高了,离开了页面.

如何使图例与图块本身的高度相同?

完整的自包含示例如下:

# Load the needed libraries
library(ggplot2)
library(grid)
library(scales)
library(reshape2)

# Generate a collection of sample data
variables = c("Var1", "Var2", "Var3")
data = matrix(runif(9, -1, 1), 3, 3)
diag(data) = 1
colnames(data) = variables
rownames(data) = variables

# Generate the plot
corrs = data
ggplot(melt(corrs), aes(x = Var1, y = Var2, fill = value)) +
  geom_tile() +
  geom_text(parse = TRUE, aes(label = sprintf("%.2f", value)), size …
Run Code Online (Sandbox Code Playgroud)

plot r scale ggplot2 colorbar

12
推荐指数
3
解决办法
3900
查看次数

去除极坐标图边缘的额外空间和环

我有一个极地情节,ggplot2因为我在完成(相当简单的情节)时非常接近.我已经能够帮助移除矩形边界,但是我不需要移除最后一个范围轮廓和具有方位标签的绘图周围环之间的额外空间.我希望这个情节的界限是15,000 ......而不是15,214(我把这个数字提高了).谢谢你的帮助.

生成图的代码如下:

# Load needed Libraries ---------------------------------------------------

library(ggplot2)

# Generate Fake Data ------------------------------------------------------

N    = 25
bng  = runif(N, min =  0, max = 360)
rng  = rlnorm(N, meanlog = 9, sdlog = 1)
det  = runif(N, min = 0, max = 1) >= 0.5

det  = factor(det)

data = data.frame(bng, rng, det)

# Generate the Plot -------------------------------------------------------

plot = ggplot(data) + theme_bw() +
  geom_point(aes(x = bng, y = rng, color = det), size = 5, alpha …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

使用log-log标度在ggplot上绘制线性函数

我想在R(Ver 3.0.2)中使用ggplot2(Ver 0.9.3.1)在对数 - 对数图上绘制三个函数.

y = x
y = 0.5*x
y = 1.5*x
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多东西,但一直遇到问题.这包括在此处阅读stackoverflow问题.

我希望拥有的一个例子就在这里.我在Matlab中生成了该绘图.

以下是我正在使用的代码示例,但目前它没有任何问题.最终,我希望成为其他数据之上的一个层(需要log-log来显示结构).

library(ggplot2)

plot = ggplot()
plot = plot + coord_cartesian(xlim = c(0.02, 300), ylim = c(0.035, 20))
plot = plot + stat_function(data = data.frame(x=c(0,1000), y=c(0,1)), fun=function(x) {x}, aes(x,y), geom = "line", color = "blue")
plot = plot + stat_function(data = data.frame(x=c(0,1000), y=c(0,1)), fun=function(x) {0.5*x}, aes(x,y), geom = "line", color = "red")
plot = plot + stat_function(data = data.frame(x=c(0,1000), y=c(0,1)), fun=function(x) …
Run Code Online (Sandbox Code Playgroud)

logging r scale ggplot2

7
推荐指数
1
解决办法
7238
查看次数

在单个图像上绘制多个ggplot图,绘制左边的对齐图和单个图例

我想将几个不同的ggplot图放入单个图像中.经过多次探索,我发现如果数据格式正确,ggplot可以很好地生成单个图或一系列图.但是,当您想要组合多个图时,有许多不同的选项可以将它们组合起来,这会让人感到困惑和快速复杂.对于我的最终情节,我有以下愿望:

  1. 所有单个图的左轴都是对齐的,因此图可以共享最底部的一个共同的x轴
  2. 在图的右侧有一个常见的图例(最好位于图的顶部附近)
  3. 前两个指标图没有任何y轴抽动或数字
  4. 地块之间的空间最小
  5. 指标图(isTraining和isTesting)占用较小的垂直空间,以便其余三个图可以根据需要填充空间

我已经搜索了满足上述要求的解决方案,但它无法正常工作.下面的代码做了很多这方面的工作(尽管可能是一种复杂的方式),但是不能满足我上面列出的要求.以下是我的具体问题:

  1. 我找到的用于对齐图表左侧的代码由于某种原因不起作用
  2. 我目前用于在同一页面上获取多个图的方法似乎很难使用,并且很可能是一种更好的技术(我愿意接受建议)
  3. x轴标题未显示在结果中
  4. 传说没有与情节的顶部对齐(我不知道这样做的简单方法,所以我没有尝试过.欢迎提出建议)

任何帮助解决任何这些问题将不胜感激.

自包含代码示例

(这有点长,但对于这个问题,我认为可能会有奇怪的互动)

# Load needed libraries ---------------------------------------------------

library(ggplot2)
library(caret)
library(grid)

rm(list = ls())

# Genereate Sample Data ---------------------------------------------------

N = 1000
classes = c('A', 'B', 'C', 'D', 'E')
set.seed(37)
ind   = 1:N
data1 = sin(100*runif(N))
data2 = cos(100*runif(N))
data3 = cos(100*runif(N)) * sin(100*runif(N))
data4 = factor(unlist(lapply(classes, FUN = function(x) {rep(x, N/length(classes))})))
data = data.frame(ind, data1, data2, data3, Class = data4)
rm(ind, data1, data2, data3, data4, N, classes)

# …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 r-grid

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

Sympy简化与平方根

我有一个表达,我认为可以在某种程度上简化,并且由于某种原因,同情并没有表现出我认为简单的简化.我的代码示例如下:

# coding: utf-8

# In[1]:

from __future__ import division
from sympy import *
init_printing()

# In[3]:

d, R, c = symbols('d R c', Positive = True, Real = True)
?t = symbols('\Delta_t', Real = True)

# In[4]:

?t = (1/c**2)*(-R*c+sqrt(c**2*(R+d)**2))
?t

# In[5]:

simplify(?t)
Run Code Online (Sandbox Code Playgroud)

我已将上面的代码放在剪切和粘贴乐趣上...... iPython的图形输出如下:

在此输入图像描述

我原以为最终结果如下:

在此输入图像描述

我认为根据我如何定义变量,简化会发生,至少sqrt((R + d)**2)......我做错了什么?

python sympy simplify

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

如何使用带有Bokeh image_rgba元素的日期时间轴?

我有一种情况,我想用日期时间轴生成一个Bokeh image_rgba图.当我尝试这个时,使用类似于以下代码的东西:

p1 = figure(x_axis_type = 'datetime', y_axis_type = 'datetime',
           x_range = [min(dates),max(dates)], 
           y_range = [min(dates),max(dates)],
           x_axis_label = 'Purchase Date', y_axis_label = 'Sell Date', 
           plot_width = 500, plot_height = 500)
p1.image_rgba(image = [plotmatrix], x = [min(dates)], y = [min(dates)], dh = [max(dates)-min(dates)], dw = [max(dates)-min(dates)])
p1.grid.grid_line_color = None
show(p1)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: Timedelta('2139 days 00:00:00') is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

plotmatrix变量是一个方形numpy矩阵,数据类型为uint32,已根据http://bokeh.pydata.org/en/latest/docs/gallery/image_rgba.html上的示例打包RGBA值.

建议的解决方法是什么?我意识到我的一个选择是将所有时间都投入到unixtime中,根据秒绘制数据,然后找到某种轴标签格式器来生成正确的时间信息.但是关于这个解决方案的一些事情对我来说似乎有些过于苛刻.

有没有关于如何解决这个问题的建议?

python bokeh

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

标签 统计

r ×7

ggplot2 ×5

python ×2

scale ×2

bokeh ×1

colorbar ×1

knitr ×1

logging ×1

plot ×1

r-grid ×1

shiny ×1

simplify ×1

sympy ×1