如何从按组对象中检索组名称?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />各位,
我只是尝试了解按组对象列表的访问以及如何访问它们。 我写了一个不错的小程序,可以按国家/地区运行气泡图,因为它是一个移动的程序,所以我想将其保存为 SWF。 所有这些都将成为定期报告,因此我想自动分配文件名。 作为文件名,我想要 Country_date_otherparameterfromprogram.swf。 日期和其他参数很简单,问题是要知道 JMP 创建的列表中气泡图的顺序。 作为 R 用户,我首先寻找像 str() 这样的函数,它在 R 中返回对象的概述,告诉您列表中每个子对象的名称以及子对象的前几个值。 由于找不到这样的函数,我尝试使用“显示树结构”,但查看它的输出,我可以看到我正在寻找的国家/地区名称,但我仍然无法访问它。
我试过:
bubble=dt<<气泡图(..., by(:Country));
气泡[1][轮廓框(1)];
以及其他一些事情,例如向对象发送“获取名称”。
干杯,
温弗里德
回复:如何从按组对象中检索组名称?
嗨杰夫,
谢谢,这正是我一直在寻找的! 仍然需要一点时间来适应 JMP 中的结构,但我想我已经到了那里......
干杯,
温弗里德
回复:如何从按组对象中检索组名称?嗨温弗里德,
您可以获取报告中大纲节点的标题并解析它们以从中获取按组值。 这获取头衔消息可能就是您正在寻找的内容。
这是一个例子。
Open( "$SAMPLE_DATA/SATByYear.jmp" );
bubbles = Bubble Plot(
X( :SAT Math ),
Y( :SAT Verbal ),
Sizes( :Name( "% Taking (2004)" ) ),
ID( :State ),
All Labels( 1 ),
by( :Region, year )
);
bygroups = {};
For( i = 1, i <= N Items( bubbles ), i++,
title = (Report( bubbles[i] )[Outline Box( 1 )]) << get title;
bygroup = Word( -1, Word( 1, title, "," ) ) || "," ||
Word( 2, title, "," );
Insert Into( bygroups, bygroup );
);
Show( bygroups );
-杰夫
回复:如何从按组对象中检索组名称?
嗨戴夫,
感谢您的回答!
在我无法弄清楚如何从对象中检索某些内容后,我按照您描述的方式进行了操作。 我只是希望人们能够以某种方式访问 byGroup 列表元素的标题(或其他元素),例如在我的示例中,bp[1] 的标题当然包含 byLevel[1] 作为标题。 询问的原因是,如果您获得多个 BY 变量,那么在确定哪个元素是哪个元素时可能很快就会变得棘手。 IE。实际上,哪个变量在前,哪个在第二,顺序是什么。
干杯,
温弗里德
回复:如何从按组对象中检索组名称?By Group 限定符会导致创建多个对象,例如:
打开(“$SAMPLE_DATA/Big Class.jmp”)
bp = BubblePlot( X( : 身高 ),Y( : 体重 ),By(: 性别));
显示(bp);
bp = {气泡图[], 气泡图[]};
所以 bp 是一个对象列表,其中每个对象仅接收分组变量一级的数据。 就气泡图而言,它获取了数据并绘制了它 - 它不知道分组,即我们无法向它发送消息<<获取组名称。
因此,要获取组名称,我们需要获取 JMP 用于生成每个图的级别。您可以使用汇总命令来执行此操作。对于上面的例子:
总结(byValues=by(:性别));
显示(按值);
因此,对于此示例,我们有 2 个气泡图 bp[1] 和 bp[2]。
第一个图的分组变量是 byValues[1],第二个图的分组变量是 byValues[2]。
戴夫