在Shiny中无效或尚未实现的'Matrix'子集化

时间:2014-12-14 10:56:31

标签: r shiny sparse-matrix

当我运行我的闪亮应用程序时,我收到一条错误消息

Error in prob[tw, uni.c] : invalid or not-yet-implemented 'Matrix' subsetting

相同的代码在没有Shiny的情况下运行时没有错误。知道如何解决这个问题吗?

我不确定如何在此处重现数据,但prob来自dgCMatrix包的Matrix类,tw是一个整数, uni.c是一个数字向量。

修改

sessionInfo()输出:

R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_Singapore.1252  LC_CTYPE=English_Singapore.1252    LC_MONETARY=English_Singapore.1252
[4] LC_NUMERIC=C                       LC_TIME=English_Singapore.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] shiny_0.10.1 Matrix_1.1-4

loaded via a namespace (and not attached):
 [1] bitops_1.0-6    caTools_1.17.1  digest_0.6.4    grid_3.1.1      htmltools_0.2.6 httpuv_1.3.0    lattice_0.20-29
 [8] Rcpp_0.11.3     RJSONIO_1.3-0   tools_3.1.1     xtable_1.7-4   

1 个答案:

答案 0 :(得分:0)

事实证明,我的代码中的一个错误是Shiny的工作方式所揭示的。

Outside Shiny,代码所在的函数无缝地工作,从另一个函数以正确的格式输入。

在Shiny中,我希望server.R中的函数在按下submitButton按钮后接收输入,并在该字段中键入合理的输入。显然,即使在第一次按下按钮之前,输入字段中的默认值(这不是一个明智的值)也会传递给我的函数。我的函数没有很好地处理该默认值并导致错误。更改默认值以及在我的函数中构建额外的错误检查都有助于解决问题。

为混乱道歉;这是一种学习经验,要小心使用默认值和闪亮的处理顺序。