R Scatterplot3d

У меня есть два вопроса.

  1. Мой набор данных состоит из четырех столбцов данных — x, y, z, функция, скажем, лямбда. Я пытаюсь построить плотность данных для каждого уникального значения z. Например, у меня есть 1000 точек данных, из которых 10 уникальных z. Это означает, что у меня будет куб со спектром из 10 цветов. Как мне это сделать?

Пока у меня есть:

colorSet <- tim.colors(10)
z <- unique(data.set[,3])
something <- ??? Not sure if something should be done about this
scatterplot3d(data.set[,1], data.set[,2], data.set[,3], color=colorSet[something], pch=19)
  1. Если я хочу добавить третью плоскость на диаграмму рассеяния, как это можно сделать?

Пока (в псевдокоде) у меня есть:

p1 <- scatterplot3d(etc)
col2 <- color for p2
p2$points3d(etc)

Я не совсем уверен, как работать с xyz.convert и plane3d, потому что то, что я читал / искал в Интернете, похоже, не работает для меня. :(

Надеюсь, кто-то может помочь! Спасибо!


person Zuriel    schedule 15.07.2014    source источник


Ответы (1)


Поскольку data.set[,3] имеет только 10 уникальных значений, я считаю, что вы можете просто настроить «таблицу поиска» для значений z.

zu<-unique(data.set[,3])
zindex <- unlist(sapply(1:nrow(data.set), function(j) which(zu==data.set[j,3]))
scattterplot3D(data.set[,1],data.set[,2],data.set[,3],color=colorSet[zindex])

Я не проверял это, поэтому, возможно, я испортил какой-то индекс.

person Carl Witthoft    schedule 15.07.2014
comment
Привет! Спасибо за ваш ответ. Каким-то образом это сообщение об ошибке, которое я получаю: Ошибка: неожиданный символ в: zindex ‹- unlist(sapply(1:nrow(data.set), function(j) which(zu==data.set[j,3] )) scatterplot3d Мой набор данных на самом деле состоит из 70000+ точек данных с 43 уникальными значениями z, но я решил упростить свой вопрос.Ха-ха.Спасибо! - person Zuriel; 15.07.2014
comment
Вам не нужен scatterplot3d в этой строке кода. - person Carl Witthoft; 15.07.2014
comment
На самом деле это были скобки, которых я не осознавал. Но спасибо за вашу помощь! - person Zuriel; 16.07.2014