听起来我们需要教你搜索。 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 的实现。
我使用sos包中的findFn-function取得了很多成功:
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 档案中下载并解压了 radviz 的 2.1 版: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 中可用的调查图,因此它们不需要编译。包里有个编译函数我没调查过。