小编woo*_*ert的帖子

all.equal()的容差参数如何工作?

有人可以向我解释一下公差参数all.equal吗?

手册说(?all.equal):

tolerance:numeric≥0.不考虑小于容差的差异.

scale = NULL(默认值)的数值比较是通过首先计算两个数值向量的平均绝对差值来完成的.如果这小于容差或不是有限的,则使用绝对差异,否则相对差异按平均绝对差异缩放.

例:

all.equal(0.3, 0.26, tolerance=0.1)
Run Code Online (Sandbox Code Playgroud)

回报 Mean relative difference: 0.1333333

为什么这里返回平均相对差异?两个数值向量的平均绝对差值是否小于容差?

0.3 - 0.26 = 0.04 < 0.1
Run Code Online (Sandbox Code Playgroud)

谢谢!

r

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

如果使用source()运行R包格子将不会绘制

我开始使用lattice图形包但我偶然发现了一个问题.我希望有人可以帮助我.我想用相应的函数绘制直方图.

这是文件foo.r:

library("lattice")

data <- data.frame(c(1:2),c(2:3))
colnames(data) <- c("RT", "Type")

pdf("/tmp/baz.pdf")
histogram( ~ RT | factor(Type), data = data)
dev.off()
Run Code Online (Sandbox Code Playgroud)

当我使用R --vanilla < foo.r它运行此代码时,一切正常.

不过,如果我使用的是第二档bar.r

source("bar")
Run Code Online (Sandbox Code Playgroud)

并运行R --vanilla < bar.r代码生成错误的pdf文件.现在我发现source("bar", echo=TRUE)解决了这个问题.这里发生了什么?这是一个错误还是我错过了什么?

我正在使用R版本2.13.1(2011-07-08)和lattice_0.19-30

graphics plot r lattice

9
推荐指数
1
解决办法
4725
查看次数

四舍五入后,sprintf将减号添加为零

我们来做一些四舍五入

> round(-0.001, 2)
[1] 0
Run Code Online (Sandbox Code Playgroud)

我收到零.

现在与sprintf结合使用

> sprintf("%f", round(-0.001,2))
[1] "-0.000000"
Run Code Online (Sandbox Code Playgroud)

为什么有减号?我期待0.000000.

$R --version
R version 2.13.1 (2011-07-08)
Run Code Online (Sandbox Code Playgroud)

printf r rounding negative-number

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

标签 统计

r ×3

graphics ×1

lattice ×1

negative-number ×1

plot ×1

printf ×1

rounding ×1