중단 없이 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.

운영 체제: 데비안 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

관련 정보