0

我确实使用 R 来获取数据集的异常值,并且我确实在 R 中使用了这个片段,它的工作方式就像它宣传的那样!

library("robustbase")
adjboxStats(c(11232.1, 234.2, 3445532344.3, 34302.3, 203.9, 232223.3, 3434.55), coef = 2.5, a = -4, b = 3, do.conf = TRUE, do.out = TRUE)

我得到这个输出:

$stats
[1]    203.900   1834.375  11232.100 133262.800 232223.300

$n
[1] 7

$conf
[1] -67254.84  89719.04

$fence
[1]   -6963.467 5097118.725

$out
[1] 3445532344

这是 R 和 python 之间的跨语言版本,唯一的问题是它不会继续执行,我每次运行脚本时都必须终止进程。

from rpy import *
r.library("robustbase")
import rpy2.robjects as robjects
r("adjboxStats")(r.c(11232.1, 234.2, 3445532344.3, 34302.3, 203.9, 232223.3, 3434.55), coef = 2.5, a = -4, b = 3, do_conf = True, do_out = True)

有关更多信息,请参阅我以前的问题

有没有办法让它在纯 python 中工作?

谢谢!

4

1 回答 1

1

当您同时导入rpy和时,似乎会发生挂起rpy2。如果你只是这样做:

from rpy import *
r.library("robustbase")
r("adjboxStats")(r.c(11232.1, 234.2, 3445532344.3, 34302.3, 203.9, 232223.3, 3434.55), coef = 2.5, a = -4, b = 3, do_conf = True, do_out = True)

这段代码应该可以工作。

于 2013-05-15T15:52:41.777 回答