2015-04-05 62 views
0

我目前正在为多元数据分析中的研究生班做一个简短的演讲。它是关于显示多元数据(用于人类理解)的方法,以及我们应该呈现的六种方法的方法,我已经采用了radial visualization plots(具体称为“RadViz”)和调查图(它们是各种排列矩阵的可视化,或者我已经从我的研究中领悟到)。尽管我已经能够在这些可视化方法的使用方面找到足够的资源,以及它们的优点/缺点,但是我发现了在R中实现它们的代码时遇到问题。RadViz&调查/置换矩阵图在R

我找到了两个用户定义的函数,这些书面函数将在R中执行survey plotsradial visualization。这些似乎是“dprep”包的一部分,它已经从CRAN中断了,并尝试尽我所能,我似乎无法将它作为一个包安装从档案中下载旧版本。此外,所有这些代码现在已经有六年了,还有几个版本都没有数据,如果它在某些时候可能完全无法使用,我不愿意推荐给同学。

我想我问的是如果有任何更容易或更干净的方式 - 可能作为现有包的一部分 - 在R中实现这些可视化,或者如果我唯一的选择是使用上述(很老的)代码来做到这一点。我知道其他编程语言(Python)以及其他软件(Orange,VisuLab)的解决方案,但由于该类主要基于使用R,所以我希望能够在其中呈现如果我能够。

回答

2

听起来像我们需要教你去搜索。 Google路径始终可用,但对于R功能,如果主题名称通常用于其他概念,则它有时不够具体。我经常配对搜索词与“rproject”

https://www.google.com/search?q=radviz&ie=utf-8&oe=utf-8#q=radviz+rproject 

调出:

http://www.cs.uml.edu/~phoffman/Radviz/readme.txt # R interface to C-implementation 

...以及其他许多人,但它会采取一些努力,以通过排序查找特定R-实施。

我必须使用findFn - 函数在SOS包许多成功:

install.packages("sos") 
library(sos) 

原本我以为这只是普通的雷达图,但似乎它可能是不同的东西。

> findFn("Radial Coordinate Visualization") 
found 12 matches; retrieving 1 page 

Downloaded 4 links in 3 packages. 

上Radviz搜索只带来了一个单一的项目,radviz2d,其帮助页面链接到同一个包“dprep”一个surveyplot功能。 “径向”一词带来了大量的,可能无法管理:

> findFn("radial plots") 
found 456 matches; retrieving 20 pages, 400 matches. 
2 3 4 5 6 7 8 9 10 
11 12 13 14 15 16 17 18 19 20 

这些条款提供了一个更容易管理的数字。雷达图或蜘蛛图一般用于离散变量,但径向坐标可视化似乎是在二维域上投影多变量关联的一种方法。 '循环'包也处理连续变量的显示和统计。

从CRAN存档我下载和解压缩版本2。dprep_2.1.tar.gz:radviz 1

source('~/Downloads/dprep/R/radviz2d.R', chdir = TRUE) 
    mmnorm <- 
function (data,minval=0,maxval=1) 
{ 
d=dim(data) 
c=class(data) 
cnames=colnames(data) 
classes=data[,d[2]] 
data=data[,-d[2]] 
minvect=apply(data,2,min) 
maxvect=apply(data,2,max) 
rangevect=maxvect-minvect 
zdata=scale(data,center=minvect,scale=rangevect) 
newminvect=rep(minval,d[2]-1) 
newmaxvect=rep(maxval,d[2]-1) 
newrangevect=newmaxvect-newminvect 
zdata2=scale(zdata,center=FALSE,scale=(1/newrangevect)) 
zdata3=zdata2+newminvect 
zdata3=cbind(zdata3,classes) 
if (c=="data.frame") zdata3=as.data.frame(zdata3) 
colnames(zdata3)=cnames 
return(zdata3) 
} 
load("/Users/davidwinsemius/Downloads/dprep/data/my.iris.rda") 
radviz2d(my.iris,"Iris") 

enter image description here

该软件包还具有其他一些功能,包括调查的情节,在R的情况,所以他们并不需要是编译。在我没有调查的包中有一个编译函数。

+0

我确实发现了所有这些,这就是为什么我试图在原始问题中总结它的原因。 (我很抱歉,我没有做很好的工作 - 这是深夜,并且有很多东西我试图总结,而没有问题一直持续下去。)RadViz就像你说的,一个将高维数据集投影到两个维度的方法,它与其他形式的径向图不同。 [This](http://www.agocg.ac.uk/reports/visual/casestud/brunsdon/radviz.htm)是该技术的一个很好的总结。 – plagueheart 2015-04-06 02:00:42

+0

在Google上搜索“radviz rproject”时,只能找到您找到的已弃用的“dprep”包,就像我在原始问题中提到的那样。我想知道是否还有其他选择,我想我没有完全清楚,对此我表示歉意。 – plagueheart 2015-04-06 02:02:04

+0

我能够从dprep-package加载'.r'代码并运行它。我不会称之为“已弃用”,只能放弃。 – 2015-04-06 02:04:22

0

我发布了新版本的dprep。 Edgar Acuna