小编Ste*_*len的帖子

testthat:处理警告和值

处理生成警告然后还返回值的调用的最佳方法是什么?

例如

> require(testthat)
> expect_warning(log(-1))
> expect_equal(log(-1), NaN)
Warning message:
In log(-1) : NaNs produced
Run Code Online (Sandbox Code Playgroud)

我想编写测试,以便对log(-1)的调用应该(a)生成警告和(b)返回值NaN.上面的方法有效,但在底部看到"警告信息:"可能会让人感到困惑.我应该暂时禁止警告吗?

r testthat

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

块的时间?

有没有办法报告计算每个块需要多少时间?我正在从一些大型脚本创建一个文档,很高兴知道时间在哪里.我确实使用了缓存功能,所以当缓存对象时,使用文档的速度并不太慢,但我想隔离缓慢的块,看看除非绝对需要,否则我可以阻止它们被重新计算.

一种想法是例如将每个块包装在system.time()中并报告每个块输出下面的system.time,或者在边缘...

再次感谢Yihui这样优秀的软件.

r knitr

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

通过GoogleVis更改工具提示

下面的代码生成我想要的图表.除了我想在工具提示中添加值l.目前我不知道该怎么做.

require(googleVis)

df <-  data.frame(x = c(1:5), y = c(10, 20 , 30, 40, 50), 
                  l = c("A", "B", "C", "D", "E"))

plot(gvisLineChart(df, xvar = "x", yvar = "y"))
Run Code Online (Sandbox Code Playgroud)

r google-visualization googlevis

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

如何调整ggplot2中绘制轴的程度?

我对ggplot2比较陌生,多年来在R中使用了基本图形.我一直喜欢基本图形的一件事是轴上的额外填充,因此两个轴不会在原点接触.以下是基本图形中的一个简单示例:

png(file="base.png")
plot(x,y, bty="n")
dev.off()
Run Code Online (Sandbox Code Playgroud)

这使得:

基础图形

当我在ggplot2中做类似的事情的时候

require(ggplot2)
x <- y <- 1:10
png(file="qplot.png")
qplot(x, y) + theme_classic()
dev.off()
Run Code Online (Sandbox Code Playgroud)

我明白了:

qplot图形

如何调整绘制轴的范围?例如对于y轴,我宁愿它停在10.0,而不是继续到10.5左右?

更新:感谢您的评论.我现在有我想要的东西; 这里是一个片段,它只将轴拉出到每个轴上的最小/最大刻度.

o = qplot(x, y) + theme_classic() +
  theme(axis.line=element_blank())
oo = ggplot_build(o)
xrange = range(oo$panel$ranges[[1]]$x.major_source)
yrange = range(oo$panel$ranges[[1]]$y.major_source)
o = o + geom_segment(aes(x=xrange[1], xend=xrange[2], y=-Inf, yend=-Inf)) +
  geom_segment(aes(y=yrange[1], yend=yrange[2], x=-Inf, xend=-Inf))
plot(o)
Run Code Online (Sandbox Code Playgroud)

更好的轴

plot r ggplot2

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

标签 统计

r ×4

ggplot2 ×1

google-visualization ×1

googlevis ×1

knitr ×1

plot ×1

testthat ×1