添加了公式列的子集 - 幾乎在那裡我正在嘗試為子集數據創建一個腳本,該腳本還添加了一個帶有公式的列。 我很接近(有點)。 我可以使用新列創建子集,但新列中只有點。
這是我到目前為止所擁有的:
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 );