一种以图形方式显示大量数据的好方法


15

我正在从事一个涉及14个变量和345,000个房屋数据观测值的项目(例如建造年份,平方英尺,已售价格,居住县等)。我担心要尝试找到好的图形技术和包含好的绘图技术的R库。

我已经看到ggplot和lattice中的内容会很好地工作,并且我正在考虑为一些数字变量绘制小提琴图。

人们会建议使用哪些其他软件包来以清晰,简洁,最重要的是简洁的方式显示大量的数字或因子类型的变量?


“清晰,优美,最重要的是简洁的方式”对我来说听起来像是ggplot2。
Brandon Bertelsen

1
我不仅在寻找R库,而且还在寻找任何特定类型的图。我对图形的了解仅限于散布图,方框图,qq图,直方图,小提琴,核密度估计等。任何模糊的图形都能揭示更多的数据,而不是奇妙的。
Christopher Aden 2010年

2
平行坐标听起来像另外一个要提。降维方法也可能会有所帮助。
Tal Galili 2010年

Answers:


13

最好的“图形”是如此明显,没人能提及:制作地图。房屋数据从根本上取决于空间位置(根据有关房地产的旧见解),因此要做的第一件事是为每个变量制作清晰的详细地图。要以百万分之三的点来做到这一点,确实需要具有行业优势的GIS,这可能会缩短过程。之后,继续进行概率图和箱形图以探索单变量分布,绘制散点图矩阵和徘徊的原理图箱形图等以探索依赖关系是有意义的-但是这些地图将立即建议要探索的内容,如何对模型进行建模数据关系,以及如何在地理上将数据分解为有意义的子集。


好点子!我已经拥有所有数据点的经度和纬度,因此这样的任务将是相对基本的。我以为地图库是个不错的选择,除非有更好的选择。
Christopher Aden 2010年

2
@Christopher您也可以做到这一点ggplot2(特别是如果你不需要提请国家边界),had.co.nz/ggplot2/coord_map.html。否则mapsgmaps会更好。还有GeoXp一个GRASS的R接口。顺便说一句,蒙德里安(Mondrian)有一个地理数据插件:)
chl

当有几个不错的建议时,分配最佳答案可能很困难,但是我认为这是正确的方向,牢记“简洁”。我将尝试ggplot2,并看看地图,GeoXp和Mondrian。感谢您进行空间绘图的想法!
Christopher Aden


latticelevelplot和成功地取得了成功contourplot。包fields具有一些不错的功能,包括quiltplot如果您的数据不严格位于网格上则很不错。它还具有出色的薄板样条函数,可Tps将未栅格化的数据平滑到栅格。对于专用的GIS软件,GRASS在某种程度上对我来说毫无意义,我更喜欢QGIS。
韦恩(Wayne)

6

我建议您看一下GGobi,它也具有R接口,至少出于探索目的。它具有许多图形显示,对于处理大量观测值和变量并将它们链接在一起特别有用。您可能希望先观看Learn GGobi页面上的“观看演示”部分下的一些视频。

更新资料

链接到chl在评论中建议的Hadley Wickham的GGobi工具:

  • DescribeDisplay “提供了一种在R中重新创建ggobi图形的方法的R包”
  • clusterfly “探索聚类可产生高维度”
  • rggobi “提供与GGobi轻松接口的R包”

1
@ars让我们添加Hadley的R工具来增强GGobi体验,例如DescribeDisplayclusterfly
chl

嗨,正如我在回答中所写的那样-我对ggobi的经验是,它不能很好地处理大型数据集。您是否还有其他经验?
Tal Galili 2010年

@Tal问题来自不依赖于字形的屏幕显示/渲染,这是R基础图形所共有的。最近的DSC会议(j.mp/bpOhBH)对此进行了讨论。实际上,有一个正在进行的项目以Qt为后端,并有一个新的GGobi端口,以增强大数据集的交互式显示。
chl

1
@Tal:我的经验是,刷新/重新绘制视图时,例如添加变量或拖动以重新排列PCP中的显示时,它相当慢。仍然可以使用,尽管交互性不如大数据上宣传的那样。@chl:真的很高兴知道,谢谢!
ars

1
@ars @Tal这是R(j.mp/d1AJp7)和GGobi(j.mp/cUOvfp)在Qt接口上的链接。另请参见Hadley的Github存储库!
chl

6

我觉得您实际上是在问两个问题:1)要使用哪种类型的可视化,以及2)什么R包可以产生它们。

对于要使用哪种类型的图,有很多,并且取决于您的需求(例如:变量类型-数字,因子,地理等,以及您要显示的连接类型):

现在关于如何做。许多数据点的问题之一是创建绘图所需的时间。ggplot2,iplot,ggobi对于太多的数据点不是很好(至少从我的经验来看)。在这种情况下,您可能希望专注于R基础图形工具,或者对数据进行采样,然后使用所有其他工具。或者,您可以希望开发iplot Extreme(或Acinonyx)的人员能够进入提前发布阶段。


感谢有关rflowcyt和Acinonyx 的链接。
chl

BTW rflowcyt已在Bioconductor的最新版本中弃用,现在建议使用flowViz。无论如何,都依靠lattice
chl 2010年

非常彻底的回答,塔尔!绘图生成时间应该不是一个大问题。我已经使用基本程序包完成了大多数图表,而让图表看起来更好的问题是当我决定在纸上使用图表时。我曾考虑过对数字变量使用散点图矩阵,但由于它们中的许多都是不同的单位(有些以美元为单位,其他以平方英尺为单位),因此我获得的唯一有价值的信息将是一般趋势,但数值约为8变量,则8x8 SPM有点混乱。
Christopher Aden 2010年

3

Mondrian提供交互功能并处理相当大的数据集(尽管它是在Java中)。

Paraview包括2D / 3D 可视化。特征。


感谢两个新颖的图书馆。我与这两者的主要冲突是我要通过纸质副本提交报告,因此交互式图形可能无法充分使用。蒙德里安的图形看起来非常复杂。我来看一下。
Christopher Aden 2010年

@Christopher对于Mondrian,iplots@ Tal引用了您的“等效” R版本。关于Paraview,您可以选择保存Viz的屏幕截图。DescribeDisplay是从GGobi(cran.r-project.org/web/packages/DescribeDisplay/index.html)导出动态可视化的方法
chl 2010年

-3

我想提请您注意“ 平行坐标:视觉多维几何及其应用”,其中包含该领域的最新突破和应用。

这本书受到斯蒂芬·霍金等人的称赞。曲面通过其法线矢量在其点进行描述(使用对偶性)。它包含以下方面的应用:空中交通管制(自动防撞-3项美国专利),多元数据挖掘(在具有数百个变量的真实数据集上),多目标优化,过程控制,重症监护智能显示器,安全性,网络可视化以及最近的大发展数据。


5
嗨,阿尔弗雷德(Alfred),感谢您加入该网站,不过这有点像促销员。也许您有一个类似于OP数据集的示例(14个变量和345,000个观测值),您可以提供一张图片并描述/演示平行坐标如何有用?我在许多观察中看到的许多静态平行坐标图看起来都像是板上的意大利面,我怀疑您对如何理解如此大的N数据有更好的了解。
安迪W

嗨,安迪,我没有这么多观察结果的例子。于
Alfred Inselberg

嗨,安迪,我没有这么多观察结果的例子。交互性对于数据探索至关重要。我在蜂窝电话网络中处理了大约800个变量和10,000个观测值的数据集,以发现“神秘”故障。逐步使用分类器并进行交互,找到了11个负责任的变量,并及时向后追踪它们,并在注意到故障之前3-4次检测到网络中的异常活动。
Alfred Inselberg 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.