我目前正在为多元数据分析的研究生课程做一个简短的演讲。它是关于显示多变量数据(用于人类理解)的方法,以及我们应该呈现的六种方法,我已经采用了radial visualization plots(特别是所指的类型)作为" RadViz")和调查图(这是各种排列矩阵可视化,或者我已经从我的研究中了解)。虽然我已经能够找到足够的资源来使用这些可视化方法,以及它们的优点/缺点,但我在查找代码以在R中实现它们时遇到了问题。
我找到了两个用户编写的函数,这些函数将在R中执行survey plots和radial visualization。这些函数似乎是" dprep"的一部分,从那时起就停止了CRAN - 并尽可能地尝试,当我从存档中下载旧版本时,我似乎无法将其作为包安装。此外,所有这些代码现在已经有六年了,而且还有几个版本的数据,如果它在某些时候可能完全无法使用,我会犹豫是否推荐给同学。
我想我要问的是,是否有更简单或更清洁的方式 - 可能作为现有包的一部分 - 在R中实现这些可视化,或者如果我唯一的选择是使用上述(非常做旧的代码。我知道其他编程语言(Python)以及其他软件(Orange,VisuLab)的解决方案,但由于该课程主要基于使用R,我希望能够呈现如果我可以的话。
答案 0 :(得分:2)
听起来我们需要教你搜索。谷歌途径始终可用,但对于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的实现。
我在sos包中使用findFn
- 函数取得了很多成功:
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.1的radviz:dprep_2.1.tar.gz
:
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")
该软件包还有其他几个功能,包括R中可用的调查图,因此它们不需要编译。包中有编译功能,我没有调查过。
答案 1 :(得分:0)
我发布了新版本的dprep。埃德加·阿库纳