设为首页收藏本站

JMP数据分析论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2706|回复: 20
打印 上一主题 下一主题

请教老师:表格经两次汇总、一次转置,如何修改JSL,谢谢!

  [复制链接]
跳转到指定楼层
楼主
发表于 2018-8-8 10:52:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先上图,原数据在2楼。
表格经两次汇总:
第一次:表格"值"列、按"日" 及 "类"同时分类、取分类取最小值。
第二次:将新结果按各列、求和汇总。

一次转置:将第二步的一行多列、转置为一列多行
以最后一步转置想进行编辑脚本,不知如何能修改为变量形式的数据范围。

麻烦老师指点,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  !connect_viewthread_share_to_qq!!connect_viewthread_share_to_qq! QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
回复

使用道具 举报

推荐
发表于 2018-8-14 11:30:10 | 只看该作者
JMP对于的拆分数有两个规则,分别是Minimum Size Split, Split Best 只要任意一个达到界限就给出拆分数。但是要注意的是Minimum默认设置为5。如果要设置Minimum为2,建议Split Best()的数据设置要足够大,否则Split Best()会先达到界限。
Partition(
        Y( :mvalue ),
        X( :crim, :zn, :indus, :chas, :nox, :rooms, :age, :distance, :radial, :tax, :pt, :b, :lstat ),
        Validation Portion( 0.3 ),
        Minimum Size Split( 2 ),
        Split Best( 1000 )
);
回复 支持 1 反对 0

使用道具 举报

推荐
发表于 2018-8-13 10:59:29 | 只看该作者
可以尝试以下代码,加入“Validation Portion()”参数:
Partition(
        Y( Y_Col ),
        X(X_Cols ... ),
        Method( "Decision Tree" ),
        Validation Portion( 0.1 ),
        Split Best( 5 )
);
回复 支持 1 反对 0

使用道具 举报

推荐
发表于 2018-8-9 16:00:07 | 只看该作者
你好!可以尝试一下方法。
strcol=1; //开始列
endcol=6; //结束列

Data Table( "Summary of 转置 By (日)" ) << Transpose(
        columns(strcol::endcol        ),
        Output Table( "Transpose of Summary of 转置 By (日)" )
)
回复 支持 1 反对 0

使用道具 举报

沙发
 楼主| 发表于 2018-8-8 10:54:27 | 只看该作者
未汇总及转置前的原始数据

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2018-8-8 10:57:12 | 只看该作者
另外看见帮助的PDF中有提到"宏"Macros,但好象在JMP软件的菜单及工具栏中没有找到,麻烦指点,谢谢!
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2018-8-9 18:23:48 | 只看该作者
jiasongchen 发表于 2018-8-9 16:00
你好!可以尝试一下方法。
strcol=1; //开始列
endcol=6; //结束列

谢谢版主!
结合JMP自身的编码,针对实例的第三步,将您的代码修改引用,可行了。谢谢!

strcol=1; //开始列
endcol=7; //结束列

Data Table( "““转置”依据(日)”的汇总" ) << Transpose(
        columns(strcol::endcol        ),
        Output Table( "“““转置”依据(日)”的汇总”的转置" )
)


第一、二步我再看看如何实现。
再次感谢版主!
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2018-8-9 21:44:16 | 只看该作者
本帖最后由 ak47ok 于 2018-8-9 21:52 编辑
jiasongchen 发表于 2018-8-9 16:00
你好!可以尝试一下方法。
strcol=1; //开始列
endcol=6; //结束列


想继续向版主请教个JMP的决策树的自动执行分割代码问题:
以软件例子Boston Housing.jmp为例,将表数据进行分割模块进行决策树分析,为使分割能自动执行,将验证数据比例设为0.1;
并在分割的分割到最小的数目设为9,(具体见截图,为了便于观看代码中各列名指标、特意将软件设为英文)。
执行后、查看执行后得到的脚本是有具体指标的分割分割值数据的,这样所得代码没有通用性的指导意义。这个能否解决?谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2018-8-9 21:46:32 | 只看该作者
录制所得的代码是这样的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2018-8-9 21:50:14 | 只看该作者
而Boston Housing.jmp中的"源"中的代码、只是分割3次,不是针对有验证数据自动执行用的。

这样想针对能自动执行的代码就不知如何修改了。因为表格数据改变时、是不能预知各指标的分割标准的。

麻烦老师指点,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2018-8-9 21:53:39 | 只看该作者
本帖最后由 ak47ok 于 2018-8-10 08:27 编辑

附上原始文件及录制得到的代码,谢谢!

Partition(
        Y( :mvalue ),
        X(
                :crim,
                :zn,
                :indus,
                :chas,
                :nox,
                :rooms,
                :age,
                :distance,
                :radial,
                :tax,
                :pt,
                :b,
                :lstat
        ),
        Minimum Size Split( 9 ),
        Validation Portion( 0.1 ),
        Split History( 1 ),
        Informative Missing( 1 ),
        Initial Splits(
                :rooms < 6.943,
                {:lstat >= 14.43, {:crim >= 5.87205, {:crim >= 15.8603, {}, {:nox >= 0.614,
                {:lstat >= 20.31}}}, {:crim >= 0.25387, {:radial < 6, {:crim >= 0.84054}}}},
                {:lstat >= 9.55, {:rooms < 6.083, {}, {:pt >= 18.7}}, {:age < 87.9, {:rooms
                 < 6.546, {:rooms < 6.127}, {:tax >= 276}}}}},
                {:rooms < 7.454, {:lstat >= 8.61}}
        ),
        SendToReport(
                Dispatch( {}, "Partition Report", FrameBox, {Frame Size( 480, 146 )} )
        )
);

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|JMP数据分析论坛 ( 沪ICP备13022603号-2 )  

GMT+8, 2024-4-29 21:13 , Processed in 0.423976 second(s), 17 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表