添加了公式列的子集 - 几乎在那里我正在尝试为子集数据创建一个脚本,该脚本还添加了一个带有公式的列。 我很接近(有点)。 我可以使用新列创建子集,但新列中只有点。
这是我到目前为止所拥有的:
Data Table( "Melt Curve Raw Data" ) << Subset(
By( :Well Position ),
All rows,
Selected columns only( 0 ),
columns( :Temperature, :Fluorescence, New Column( "Normalized Fluorescence", formula(
(:Fluorescence - Col Min(:Fluorescence )) / (Col Max(:Fluorescence )
-Col Min(:Fluorescence )))
))
);
搜索后,我看到了一些关于 eval 命令的内容,但作为一个初学者,我不知道如何添加它,所以它可以工作。
**理想情况下,我也可以直接在温度列之后添加新列,而不是在末尾
提前感谢您的任何建议!!
数据表脚本回复:添加了公式列的子集 - 几乎就在那里太感谢了!! 第一个解决方案完美运行。 我敢肯定,您一直都在听到这句话,但您是救生员!
回复:添加了公式列的子集 - 几乎就在那里这是该问题的2个解决方案。第一个将计算更改为使用正在评估的特定井位的最小值和最大值。
Data Table( "Melt Curve Raw Data" ) << New Column( "Normalized Fluorescence",
formula(
(:Fluorescence - Col Min( :Fluorescence, :Well Position )) / (
Col Max( :Fluorescence, :Well Position )
-Col Min( :Fluorescence, :Well Position ))
)
);
Data Table( "Melt Curve Raw Data" ) << Subset(
By( :Well Position ),
All rows,
Selected columns only( 0 ),
columns( :Temperature, :Fluorescence, :Normalized Fluorescence )
);
Data Table( "Melt Curve Raw Data" ) << delete columns( :Normalized Fluorescence );
第二个创建子集数据表,然后返回并为生成的每个新数据表添加新列
new tables = Data Table( "Melt Curve Raw Data" ) <<
Subset(
By( :Well Position ),
All rows,
Selected columns only( 0 ),
columns( :Temperature, :Fluorescence, :Normalized Fluorescence )
);
For( i = 1, i <= N Items( new tables ), i++,
new tables[i] << New Column( "Normalized Fluorescence",
formula(
(:Fluorescence - Col Min( :Fluorescence, :Well Position )) / (
Col Max( :Fluorescence, :Well Position )
-Col Min( :Fluorescence, :Well Position ))
)
)
);
回复:添加了公式列的子集 - 几乎就在那里嗨,吉姆! 感谢您的意见。 我希望我可以使用您的方法,但不幸的是,当我在执行子集之前添加列时,新列使用之前的最大值和最小值,因此计算是错误的。
在子集之后添加新列对我有用,不知道为什么,它的标题正确,但公式没有“计算”,这就是为什么我认为它可能是我见过的“eval”东西。 当我进入新列时,它打开了“抑制评估”,但我不知道如何解决这个问题,而不手动进入所有子集并更正它。
我附上了它对我的样子的截图。 该列出现,但带有点。 当我进入列信息时,它选中了“抑制评估”,取消选中它可以解决错误,但是必须单独进入所有子集以取消选中该框并不理想。 我尝试在脚本中添加不同的代码来关闭抑制评估,但到目前为止它们都不起作用。

回复:添加了公式列的子集 - 几乎就在那里在 Subset() 的列规范中不允许使用 New Column()。至少我在文档中找不到这样的东西,它也不能在一个非常简单的子集示例中工作,包括它。因此,我修改了您的脚本以在原始数据表中创建列,然后对表进行子集化,然后返回并将其从原始表中删除。
Data Table( "Melt Curve Raw Data" ) <<
New Column( "Normalized Fluorescence",
formula(
(:Fluorescence - Col Min( :Fluorescence )) / (
Col Max( :Fluorescence ) - Col Min( :Fluorescence ))
)
);
Data Table( "Melt Curve Raw Data" ) <<
Subset(
By( :Well Position ),
All rows,
Selected columns only( 0 ),
columns( :Temperature, :Fluorescence, :Normalized Fluorescence )
);
Data Table( "Melt Curve Raw Data" ) <<
delete columns( :Normalized Fluorescence );