具有添加的公式列的子集-幾乎存在我正在嘗試創建一個腳本來子集數據,該腳本還添加了帶有公式的列。 我很近(有點)。 我可以使用新列創建子集,但是新列中僅包含點。
這是我到目前為止的內容:
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命令的一些信息,但是作為一個初學者,我不知道如何添加它,因此它可以工作。
**理想情況下,我也可以直接在“溫度”列之後而不是在末尾添加新列
預先感謝您的任何建議!
數據表腳本編寫回复:添加公式列的子集-幾乎存在Subset()的列規範中不允許使用新的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 );
回复:添加公式列的子集-幾乎存在嗨,吉姆! 感謝您的建議。 我希望可以使用您的方法,但是不幸的是,當我在做子集之前添加列時,新列使用了以前的最大值和最小值,因此計算錯誤。
在子集後添加新列對我有用,不知道為什麼,並且標題正確,但是公式沒有“計算”,這就是為什麼我認為這可能是我所看到的“評估”的原因。 當我進入新列時,它具有“抑制評估”功能,但是我不知道如何手動解決所有子集並對其進行更正,因此無法解決該問題。
我附上了屏幕快照,顯示了我的外觀。 出現該列,但帶有點。 當我進入列信息時,它選中了“抑制評估”,而取消選中它可以解決該錯誤,但是不理想的情況是必須單獨進入所有子集來取消選中該框。 我嘗試向腳本中添加不同的代碼以關閉抑制評估,但是到目前為止,它們均無法正常工作。
回复:添加了公式列的子集 - 幾乎就在那裡這裡有 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 ))
)
)
);