在新数据表中堆叠组列你好,
我有下一个代码。在最后几行中,我尝试堆叠一些列。问题是,当我运行脚本时,我看到只有1列堆叠,虽然我需要看到多于1(根据代码中的列表长度)
);<BR /><BR />dt = open("C:\JMPCommunity\DataTableExample.jmp");
s_list = {sen1, sen2, sen3, sen4, sen5};
test_list ={test1, test2, test3};
tokens_list={Col1, Col2, Col3};
g_list={g1,g2,g3};
For(j = 1, j<=Length(test_list), j++,
For( i = 1, i<= Length(s_list), i++,
dt << New Column ( test_list[j] ||"_" || s_list[i],
Numeric,
Continuous,
Formula(
Num(Word( i, As Column(Column(tokens_list[j] )), "|" ))
)
)
);
g_list[j] = dt << Group Columns(:( || test_list[j]|| "_" || s_list[1]), Length(s_list));<BR /> dt << Stack(columns(dt << Get Column Group( g_list[j] );),<BR /> Source Label Column( "Label_" || test_list[j] ),<BR /> Stacked Data Column( "Data_" || test_list[j])<BR /> );<BR />
我的Qs是:
1。如何解决问题。
2。新打开的数据表如何成为新的dt(原始数据不会更新)?
附上一个dt示例
Re:在新数据表中堆叠组列你好,
我认为有一个问题。打开的最后一个表生成的行数多于所需的行数。
例如:我需要的第一个DT堆栈包含10行数据。最后一个DT包含250个数据单元!!
这是X25。现在,实际上,如果我有一个10 ^ 6或更多行的表,它将极其成倍增加,也许计算机数据处理将终止....
根据我附上的示例,我必须得到3个堆叠的Label&Data列,这些列只有10行单元格。
我想到MultipleSeriesStack但不知道如何将它插入到我的代码中
Re:在新数据表中堆叠组列在纠正在组列中添加':列('(消息)后,脚本似乎工作,除了它创建三个不同的表,每个表都有一组分组列。 如果要继续向新创建的表添加列(这是我认为您想要的),则需要引用新创建的表。这是一种方法:
Names default to here( 1 );
s_list = {sen1, sen2, sen3, sen4, sen5};
test_list ={test1, test2, test3};
tokens_list={Col1, Col2, Col3};
g_list={g1,g2,g3};
dt = list();
dt[1] = open("C:\Users\a384681\Downloads\DataTableExample.jmp");
For(j = 1, j<=Length(test_list), j++,
For( i = 1, i<= Length(s_list), i++,
dt[j] << New Column ( test_list[j] ||"_" || s_list[i],
Numeric,
Continuous,
Formula(
Num(Word( i, As Column(Column(tokens_list[j] )), "|" ))
)
)
);
g_list[j] = dt[j] << Group Columns(:Column(test_list[j] || "_" || s_list[1]), Length(s_list));
dt[j+1] = dt[j] << Stack(
columns(dt[j] << Get Column Group( g_list[j] );),
Source Label Column( "Label_" || test_list[j] ),
Stacked Data Column( "Data_" || test_list[j])
);
);