散射R内的scatter3d椭球参数失败

时间:2017-05-27 08:26:41

标签: r shiny rgl r-car scatter3d

前进两步,后退一步。最后几周,我遇到了一些我自己无法解决的问题,作为一个有R年1年经验的自我用户,但幸运的是,这个网站上有很多人帮助了我很多!首先,感谢那些家伙。

现在看来我们已经找到了一种方法来将散点图绘制到Shiny App我的建筑物中,然后让鼠标左键工作(请参阅我之前的问题)我现在遇到了一个bug我不明白。

该错误说明了这一点:第3阶段的主要未成年人并不是肯定的 经过一段时间的困惑,我发现它在scatter3d的椭球参数内。

运行此工作正常:

library(rgl)
library(car)
library(shiny)

colors <- rep("grey", 25)  ### dummy palette of all greys
groups <- as.factor(rep(1:25,2)) ### make 5 categories 

cars$time <- cars$dist/cars$speed

ui <- fluidPage(
  hr("how do we get the plot inside this app window rather than in a popup?"),

  rglwidgetOutput("plot",  width = 800, height = 600)
)

server <- (function(input, output) {

  output$plot <- renderRglwidget({
    rgl.open(useNULL=F)
    scatter3d(x=cars$speed, y=cars$dist, z=cars$time, surface=FALSE, ellipsoid = FALSE, groups = groups, surface.col = colors)
    par3d(mouseMode = "trackball")
    rglwidget()
  })
})   
shinyApp(ui = ui, server = server)

切换到ellipsoid = TRUE会出现错误,并且没有任何渲染闪亮

只需运行以下行即可运行图表:

rgl.open(useNULL=F)
    scatter3d(x=cars$speed, y=cars$dist, z=cars$time, surface=FALSE, ellipsoid = TRUE, groups = groups, surface.col = colors)

的工作原理是它在rgl窗口内呈现,但仍然会打印错误。

将组数更改为少于14似乎解决了这个问题: 群&lt; - as.factor(代表(1:13,5)) 小组&lt; - 小组[1:50]
没有错误。 群&lt; - as.factor(代表(1:14,5)) 小组&lt; - 小组[1:50] 给出错误.....非常奇怪。

起初我认为它可能与scatter3d的nr颜色的构建相关联,因为最多8个组,它会自动着色而不指定surface.col。一旦你有9个小组,你需要自己给它一个调色板,但这个13号截止点似乎相当尴尬....

  • 我也将它标记为RGL,虽然它不是问题的一部分,所以有些人跟随我的其他RGL相关问题可以看到我已将这个问题放在一个新问题中。

1 个答案:

答案 0 :(得分:1)

您的问题是您根本没有足够的数据。这导致它在没有足够的点时尝试计算椭球(我想象的每组至少需要3个)。错误信息显然可能更好,但没有错,它指的是计算中出了什么问题。

我创建了一个参数化的var fs = require('fs'); var crypto = require('crypto'); function decrypt(aseKey, inputFile){ var buffer = fs.readFileSync(inputFile) var arr = Array.prototype.slice.call(buffer, 0) var iv = arr.slice(0, 16) var bodyBytes = arr.slice(16) var cipher = crypto.createCipheriv('aes-128-cbc', aseKey, new Buffer(iv)); buffer = cipher.update(new Buffer(bodyBytes)); fs.writeFile(inputFile + ".node.ts", buffer) } decrypt("0123456789123456", "1.ts.aes") ,它只是对原始数据进行了更大规模的重新采样,所以它应该看起来很相似。

这是:

ncars

这是一个情节:

enter image description here