中断することなくR 3.3.2に分散3dをインストールして使用する方法は?

中断することなくR 3.3.2に分散3dをインストールして使用する方法は?

R 3.3.2では、インタラクティブな3D散布図を取得するためのガイドラインに従ってください。ここRtsne 3d機能を研究します。ここRColorBrewerここで選択した3Dカラー描画パッケージに動的色を使用しようとしていますscatter3d。呼び出されるパッケージが見つからなかったので、scatter3dこの関数が正確にどこにあるのかわかりません。 rootで次の通知を受け取りますinstall.packages('scatter3d')。私はすでにやったinstall.packages('rgl')

package ‘scatter3d’ is not available (for R version 3.3.2)

擬似コードの例[この例では不要]

scatter3dLinuxに入る方法がわからないので、次のコードを示します。

## Startup
# Mx <- [choose any matrix here]
N <- length(Mx)
perplex <- 0

library('Rtsne')
# https://www.codeproject.com/Tips/788739/Visualization-of-High-Dimensional-Data-using-t-SNE

# https://cran.r-project.org/web/packages/Rtsne/Rtsne.pdf
rtsne_out <- Rtsne(as.matrix(Mx), perplexity = perplex, 
  dims=3,
  pca=TRUE, 
  check_duplicates=FALSE
)

## Fails because missing package scatter3d 
library('RColorBrewer')
library('rgl') # scatter3d
colors <- brewer.pal(n=N, name="Dark2")
# TODO scatter3d not available in R 3.3.2
scatter3d(x=rtsne_out$Y[,1],y=rtsne_out$Y[,2],z=rtsne_out$Y[,3], 
          surface=FALSE, grid = FALSE, ellipsoid = TRUE,
          surface.col = colors)

ロドリゴの回答テスト

ロドリゴの成功ポイント:彼が作るのはinstall.packages('car')データパッケージではなく回帰パッケージです。

関数内で次の関数を呼び出しています。機能完了後、インタラクションがscatter3d終了しますが、実行時間が短すぎて視覚的なインタラクションウィンドウが使用できなくなり、問題になります。

scatter3d(x=rtsne_out$Y[,1],y=rtsne_out$Y[,2],z=rtsne_out$Y[,3], 
          surface=FALSE, grid = FALSE, ellipsoid = TRUE,
          surface.col = colors)

私は次の方法で成功しなかったので、関数内で可視化を返そうとしました。

result <- scatter3d(...)
return(result)

キーを押す一時停止は関数内では役に立ちませんし、関数の外でも役に立ちません。スクリプトは引き続き実行され、可視化は終了し、ウィンドウは開いたままになりません。

result
cat ("Press [enter] to continue") # http://stackoverflow.com/a/18746519/54964
line <- readline()
#readline(prompt="Press [enter] to continue") # http://stackoverflow.com/a/18746519/54964

par(ask=TRUE) #http://r.789695.n4.nabble.com/Pause-on-graphics-td845261.html以前にやったことは役に立ちませんでしたscatter3d

オペレーティングシステム:Debian 8.5
R:3.3.2

答え1

rglライブラリを使用する簡単な例です。

install.packages('rgl',depend=T)
library(rgl)
ce <- read.csv('_CE3D.txt',sep='\t',header=T)
cd <- read.csv('_CD3D.txt',sep='\t',header=T)
plot3d(ce$x,ce$y,ce$z)
plot3d(cd$x,cd$y,cd$z,add=T,col=2)

これらの画像はさまざまな例から得られますが、説明目的でのみ使用されます。マウスをクリックしてドラッグして回転できます。

エピソード1 エピソード2

関連情報