如何使用columnlist堆叠很多列<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,我想读出列名称并将它们保存为列列表....使用此列表我可以在单个命令中堆叠这些多个列,而不是像下面所示的代码那样手动堆叠吗?
dt_L5 << 堆栈(
列(
:名称( "MISC_L5_Test230_2(1)" ),
:名称( "MISC_L5_Test230_2(2)" ),
:名称( "MISC_L5_Test230_2(3)" ),
:名称( "MISC_L5_Test230_2(4)" ),
:名称( "MISC_L5_Test230_2(5)" ),
:名称( "MISC_L5_Test230_2(6)" ),
:名称( "MISC_L5_Test230_2(7)" ),
:名称( "MISC_L5_Test230_2(8)" ),
。
。
。
。
:名称(“MISC_L5_Test230_2(125)”)
),
源标签列(“标签”),
堆叠数据列(“数据”),
输出表(“L5”)
);
我想做这样的事情:
clist=dt_L5<<获取列名称;
ncols = N 项(clist);
dt_L5 << 堆栈(
列(
for(i=1,i<=ncols,i++,
名称列表 = 列表;
/* 我应该如何调用“ :名称(“名称列表”) “ 这里 ?? */
);
源标签列(“标签”),
堆叠数据列(“数据”),
输出表(“L5”)
);
回复:如何使用columnlist堆叠很多列
你好,
你的最终脚本看起来像这样吗?
清除全局变量 (); /* 清除之前运行的常驻内存*/
/* 打开你的文件*/
dt=打开(
选择文件(
"选择 *.csv 文件",
获取当前目录(),
{“所有 JMP 文件|jmp;jsl;jrn;csv;txt”,“所有文件|*”}
)
);
等待(0);
nc_dt = N 列 (); /*获取文件的列数*/
等待(0);
clist = dt <<获取列名; /* 获取用于堆叠的列名称*/
ncols = N 项(clist);
等待(0);
tlist={};
for(i=2,i<=ncols,i++,
插入(tlist,clist );
);
等待(0);
dt2 << 堆栈(
列(评估(tlist)),
源标签列(“标签”),
堆叠数据列(“数据”),
输出表(“DT5”)
);
回复:如何使用columnlist堆叠很多列伟大的! 谢谢女士... 我有 JMP8.0 也许这就是问题所在
回复:如何使用columnlist堆叠很多列好的。 对我来说,没有 eval() 也可以工作。 适用于 Mac 的 JMP 9.0.3。
这甚至可以工作,即在 columns() 参数内创建列表。 如果您稍后在脚本中不需要该参数,这会很方便。 然而,清楚地声明变量可以使代码更易于阅读和调试。
dt1_L0 <<堆(
列( dt1_L0 <<获取列名) ,
源标签列( “标签” ) ,
堆叠数据列( “数据” ) ,
输出表( “L5” )
) ;
回复:如何使用columnlist堆叠很多列在这个论坛上的搜索引导我找到了答案......必须使用 eval(list) 。
碰撞= dt1_L5 <<获取列名;
dt1_L0 <<堆(
列(评估(碰撞) ) ,
源标签列( “标签” ) ,
堆叠数据列( “数据” ) ,
输出表( “L5” )
) ;
感谢您的支持!
回复:如何使用columnlist堆叠很多列再次感谢! ... 在堆栈命令之后,我在日志窗口中收到以下消息
“在‘错误论证’的访问或评估中找不到该列
空的()”
我没有看到任何堆叠表输出...:-s 我真的很感谢你的帮助!
如何使用columnlist堆叠很多列有条件地像这样:
列表= {} ;
为了(我= 1 ,我<=恩科尔斯,我++,
如果(我> 3 ,
插入(列表,碰撞[我]) ;
) ;
) ;
或无条件但修改初始我:
列表= {} ;
为了(我=4 ,我<=恩科尔斯,我++,
插入(列表,碰撞[我]) ;
) ;
回复:如何使用columnlist堆叠很多列像这样的东西? ....
碰撞= dt1_L5 <<获取列名;
/*这里的目的是通过从上一个列表中删除前3个来保存一个新列表*/
ncols = N 个项目(collist);
for(i=1;i<=ncols;i++,
如果(我> 3,
tlist=并列;
);
);
dt1_L0 <<堆(
列( (列表) ) ,
源标签列( “标签” ) ,
堆叠数据列( “数据” ) ,
输出表( “L5” )
) ;
我什至不知道这里的“if”陈述是否正确……请原谅我的无知
如何使用columnlist堆叠很多列嗨女士,
感谢您的快速回复。 我是 JSL 的新手,所以我不知道如何跨过该语言。 很高兴知道堆栈接受列表作为参数。
我可以进一步扩展问题并询问...我们如何才能从列表中仅选择要堆叠的几列? 例如,我不想堆叠前 3 列。 为此,我可以创建一个新列表来存储所需的列名称(从 collist 中删除前 3 个列名称)。
是的,我找到了之前条目的解决方案,所以我删除了它
非常感谢!
回复:如何使用columnlist堆叠很多列Stack 采用列表作为参数,因此可以在这里以更简单的方式完成。
碰撞= dt1_L5 <<获取列名;
dt1_L0 <<堆(
列( (碰撞) ) ,
源标签列( “标签” ) ,
堆叠数据列( “数据” ) ,
输出表( “L5” )
) ;
避免在平台命令内使用 for 循环。 顺便说一句,我试图提交对您之前问题的回复,但在我点击“添加回复”之前它已被删除。 也许您已经找到了解决方案,但这是我的看法。 同样,平台内的 for 循环可能并不总是有效,因为某些命令可能不会评估参数(例如需要带引号的字符串)。
月表= { 4 , 5 , 7 , 9 , 11 , 12 } ;
风=新窗户( “双变量” ,
dt1_L0 <<双变量(是( :数据) , X ( :价格) ,经过( :月) )
) ;
为了(我= 1 ,我<= N 项(月表) ,我++,
风[ 1 ,我,框架盒( 1 )] << {框架尺寸(第633章, 249 ) ,
行图例( :楼层,
颜色主题( “JMP 默认值” ) ,
标记主题( “标准” ) ,
)}
) ;