您如何在两个数据框中的字符串中找到相似之处和变化?

问题描述

嗨,我有 2 个大型数据集,我正在尝试识别分子组成中的变化。我有两个数据框...一个预先暴露于试剂,另一个已暴露于该试剂(试剂 = NaNO3)。

公式具有基本结构 CxHyOzNd(x、y、z 和 d 是变量)。从暴露样本到预暴露样本数据集,我们将看到 -N1O2 和 +H1 的损失(匹配公式中的 C 应该相同。代码应该能够通过元素列(C,H,O,N,S,P) 或通过字符串本身(例如 C13H26O2N)。

例如。预曝光样品

Composition  C  H  O  N  S  P
C11H13O2     11 13 2  0  0  0
C7H9O        7  9  1  0  0  0
C4H8         4  8  0  0  0  0
.....

例如。暴露样品

Composition  C  H  O  N  S  P
C11H12O4N    11 12 4  1  0  0
C7H7O5N2     7  7  5  2  0  0
C3H6O        3  6  1  0  0  0
.....

如数据框中所见,分子组成因添加 +NO2 和失去一个氢 (-H) 而发生变化。如果这些公式字符串丢失 -N1O2 和 +H,我希望能够匹配这些公式字符串,并创建一个将这两个公式连接在一起的新数据框。一个例子如下所示。 NO2 列显示添加的 NO2 基团数,H 列显示丢失的 H 数。 (有可能添加 1 个以上的 NO2 基团)。

例如。显示转换的新数据框

Pre-Comp    Exposed-Comp  NO2  H
C11H13O2    C11H12O4N     1    1
C7H9O       C7H7O5N2      2    2 

如果这种类型的分析可以通过 R 完成,请告知。我猜测代码将是某种可以遍历数据集的 if/then 语句。我对 R 比较陌生,所以任何代码都会有所帮助,谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)