PCA可以在R控制台中工作,但不能在Jupyter IR内核中工作



我正在R控制台中使用prcomp运行此示例PCA代码

C <- chol(S <- toeplitz(.9 ^ (0:31))) # Cov.matrix and its root
all.equal(S, crossprod(C))
set.seed(17)
X <- matrix(rnorm(32000), 1000, 32)
Z <- X %*% C  ## ==>  cov(Z) ~=  C'C = S
all.equal(cov(Z), S, tol = 0.08)
pZ <- prcomp(Z, tol = 0.1)

这很好用。然而,当我在带有IRkernel的jupyter笔记本中运行代码时(具体来说是通过jupyter集线器(,它一直处于冻结状态,什么也没发生。

我在Ubuntu 18.04上,这是我的会话信息

R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.5 LTS
Matrix products: default
BLAS/LAPACK: /opt/intel/compilers_and_libraries_2018.2.199/linux/mkl/lib/intel64_lin/libmkl_rt.so
locale:
[1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8
[4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8
[7] LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C
[10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
loaded via a namespace (and not attached):
[1] compiler_4.0.3

我所做的唯一更改是将R链接到英特尔MLK线性代数库,而不是您在sessionInfo中看到的base。

所以发生了一些奇怪的事情,我删除了R4.0并安装了R3.6,它成功了。

相关内容

最新更新