根据这个是下面给出的数据表:
| | 排 | 一个 | 乙 | C | D |
| 1个 | 一个 | 1个 | 0.02 | 0.8 | -0.6 |
| 2个 | 乙 | 0.02 | 1个 | 0.7 | -0.02 |
| 3个 | C | 0.8 | 0.7 | 1个 | 0.51 |
| 4个 | D | -0.6 | -0.02 | 0.51 | 1个 |
我应该创建另一个数据表,它提供以下内容:第 1 列中给出的对应行、对应列及其值。 请问我是应该创建一个矩阵还是只需要从数据表中编辑? 感谢您的帮助,谢谢。 (下面是上面第一个数据表的结果,除了我现在必须对 2,000 多行进行处理。)
| | 对应行 | 对应栏目 | >=0.05 && < 1 |
| 1个 | 一个 | C | 0.8 |
| 2个 | 乙 | C | 0.7 |
| 3个 | C | 一个 | 0.8 |
| 4个 | C | 乙 | 0.51 |
| 5 | C | D | 0.51 |
| 6个 | D | C | 0.51 |
建立在@ron_horne例如,这是一段完整的代码,可以处理样本数据表,或者你提到的 2000x2000 数据表
dt = current data table ();
cols = dt << Get Column Names( Continuous );
dtStack = dt << Stack(
columns( cols ),
Source Label Column( "Coresponding Columns" ),
Stacked Data Column( ">=0.05&&<1" )
);
dtStack:Row << set name("Corresponding Rows");
dtStack << select where( dtStack:Name(">=0.05&&<1") < .05 | dtStack:Name(">=0.05&&<1")>=1);
dtStack << delete rows;
你好@reallyneedhelp ,
让我知道以下脚本是否能让您更接近您的目标。
dt = current data table ();
cols = dt << Get Column Names( Continuous );
dt << Stack(
columns( cols ),
Source Label Column( "Column" ),
Stacked Data Column( "Data" )
);
罗恩
你好@reallyneedhelp ,
也许这个快速堆栈选项可以完成这项工作。
转到表>>堆栈。从那里你可以按照图片


你也可以按照这个脚本。一旦你有了表格,从左上角运行“堆栈”脚本。
New Table( "Untitled",
Add Rows( 4 ),
New Script(
"Stack",
Data Table( "Untitled" ) << Stack(
columns( :A, :B, :C, :D</img> ),
Source Label Column( "Column" ),
Stacked Data Column( "Data" )
)
),
New Column( "Row", Character, Nominal, Set Values( {"A", "B", "C", "D"} ) ),
New Column( "A",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [1, 0.02, 0.8, -0.6] )
),
New Column( "B",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [0.02, 1, 0.7, -0.02] )
),
New Column( "C",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [0.8, 0.7, 1, 0.51] )
),
New Column( "D",
Numeric,
Continuous,
Format( "Best", 12 ),
Set Values( [-0.6, -0.02, 0.51, 1] )
)
)
让我们知道这是否是您要寻找的。
罗恩