2012-11-09 25 views
0

我可能是一个白痴,但我无法在文档中找到如何显示对象。 我安装的软件包会返回一个名为a的对象。使用R语言查看数据

我怎样才能弄清楚它里面有什么?这个 对象中有一些矩阵和数字是我需要的。

(我承认一年前(上次我不得不使用R)我遇到了同样的问题,我在Google搜索了一个小时后发现了一个解决方案 这次我在20分钟后失去了耐心,可怜我)。

回答

7

str()函数擅长揭示一个对象的一般结构。您可能需要了解如何显示某些类型的对象。矩阵不会说“矩阵”,但有相当与名称显示[行的cols]

> str(matrix(NA, 4,4)) 
logi [1:4, 1:4] NA NA NA NA NA NA ... 

有迹象表明,对于在内置summary功能。再就是dataframes改进一个describe功能的各种版本是可以用来确定lengthclassmode功能,以及其他功能。

+0

谢谢。我发现names()函数完成了这个技巧。美丽的语言!不!我想我把搜索时间提高到了30分钟! – Matyas

+0

如果你提到你正在处理一个列表,即第一次使用'class'函数,它会有所帮助。 '名称'不会在矩阵上工作。它将在一些原子向量上工作,但不是全部。 “str”对大多数课程都有效。 –

+0

谢谢DWin的确如此。我不知道class()是什么......我读了(109页)“R介绍”,它没有以class()函数为特征的例子。它确实提到了unclass()函数,所以我想我可以想出它。也许这也是相关的:“被称为对象类的特殊属性用于允许面向对象......”(第21页)。 – Matyas

8

您可以键入

a 

或者

str(a) 

或者

summary(a) 

这些都是很好的开始

+0

summary()看起来很有用。谢谢! – Matyas

3

真正的解决办法是阅读包的文档。例如,要从GLM中获取拟合值,请执行fitted(a)。要获得与splancs:nndistG的最近邻距离,您将获得a$dists

如果程序包中函数的返回值没有记录,请告诉维护人员。这是一个错误。

如果你在一个对象的结构中进行挖掘,认为a$foo是你想要的而没有任何文档,那么你就有可能没有得到你认为你得到的东西。例如,假设模型拟合函数具有一个$resid组件。你不知道这些残留是什么样的。

此外,不能保证软件包的升级将保持相同的定义$resid,并且可能没有记录该更改,因为作者并不期望人们在对象的内脏中四处挖掘。