【发布时间】:2016-08-05 15:26:31
【问题描述】:
我有一个两列的数据框。第一栏是识别号,第二栏是化合物。然而,第 2 列中的化合物通常是重复的(同一化合物的不同形式)。我想删除除了复合词的简单形式之外的所有重复项。
这是数据框:
>NISTSpecR
NIST NAME
366620 Formic acid, TMS derivative
366765 2-[2-(2-Butoxyethoxy)ethoxy] Acetic acid, TMS derivative
342340 Acetic acid, TMS derivative
352374 Propanoic acid, TMS derivative
333858 Butyric Acid, TMS derivative
352377 Pentanoic acid, TMS derivative
24239 Hexanoic acid, TMS derivative
333733 Heptanoic acid, TMS derivative
352455 Oxalic acid, 2TMS derivative
414056 Succinic acid, monoethyl ester-, (TMS)
332809 Adipic acid, TMS derivative
30799 Pimelic acid, 2TMS derivative
292699 Suberic acid, 2TMS derivative
333874 Citric acid, 4TMS derivative
366657 Citric acid, 3TMS derivative
333513 (-)-Epinephrine, 3TMS derivative
16985 Epinephrine, (.beta.)-, 3TMS derivative
24795 Norepinephrine, (R)-, 5TMS derivative
332935 DL-Norepinephrine, 4TMS derivative
这是它的结构:
> str(NISTSpecR)
'data.frame': 154 obs. of 3 variables:
$ Spec: Factor w/ 239429 levels "1 0; 13 2; 14 27; 15 239; 16 3; 18 2; 26 3; 27 36; 28 32; 29 113; 30 9; 31 64; 32 9; 33 17; 34 17; 35 20; 36 1; 37 1; 41 8; 42 "| __truncated__,..: 23720 32791 3011 32175 12349 29069 193166 26108 28713 73845 ...
$ NIST: chr "366620" "366765" "342340" "352374" ...
$ NAME: Factor w/ 239430 levels "-4'-Dimethylamino-2'-(trimethylsilyl)acetanilide",..: 157152 39442 108436 210392 133148 199151 169386 168243 195800 229235 ...
我希望最终结果看起来像这样:
>NISTSpecR
NIST NAME
366620 Formic acid, TMS derivative
342340 Acetic acid, TMS derivative
352374 Propanoic acid, TMS derivative
333858 Butyric Acid, TMS derivative
352377 Pentanoic acid, TMS derivative
24239 Hexanoic acid, TMS derivative
333733 Heptanoic acid, TMS derivative
352455 Oxalic acid, 2TMS derivative
414056 Succinic acid, monoethyl ester-, (TMS)
332809 Adipic acid, TMS derivative
30799 Pimelic acid, 2TMS derivative
292699 Suberic acid, 2TMS derivative
366657 Citric acid, 3TMS derivative
333513 (-)-Epinephrine, 3TMS derivative
24795 Norepinephrine, (R)-, 5TMS derivative
每种母体化合物只有一种(即甲酸,...)。并且它必须是最简单的版本(字符最少的版本)。
> dput(as.character(NISTSpecR$NAME))
c("Formic acid, TMS derivative", "2-[2-(2-Butoxyethoxy)ethoxy] Acetic acid, TMS derivative",
"Acetic acid, TMS derivative", "Propanoic acid, TMS derivative",
"Butyric Acid, TMS derivative", "Pentanoic acid, TMS derivative",
"Hexanoic acid, TMS derivative", "Heptanoic acid, TMS derivative",
"Oxalic acid, 2TMS derivative", "Succinic acid, monoethyl ester-, (TMS)",
"Adipic acid, TMS derivative", "Pimelic acid, 2TMS derivative",
"Suberic acid, 2TMS derivative", "Citric acid, 4TMS derivative",
"Citric acid, 3TMS derivative", "Citric acid 3TMS", "Citric acid, ethyl ester, tri-TMS",
"Isocitric acid lactone, 2TMS derivative", "Glyoxylic acid, di-TMS",
"Pyruvic acid, TMS derivative", "Malic acid, 2TMS derivative",
"Malic acid 1-ethyl ester, 2TMS", "Malic acid, 4-ethyl ester, 2TMS",
"Malic acid, 3TMS derivative", "4-Hydroxybutanoic acid, 2TMS derivative",
"Prostaglandin A1, 2TMS derivative", "Prostaglandin A2, 2TMS derivative",
"Prostaglandin E2, 3TMS", "D-Arabinose, 4TMS derivative", "D-Xylose, 4TMS derivative",
"D-Lyxose, 4TMS derivative", "D-Ribose, 4TMS derivative", "D-Glucose, 5TMS derivative",
"D-Galactose, 5TMS derivative", "D-Mannose, 5TMS derivative",
"D-Allose, oxime (isomer 1), 6TMS derivative", "D-Allose, oxime (isomer 2), 6TMS derivative",
"D-Altrose, 5TMS derivative", "Dihydroxyacetone, 2TMS derivative",
"1,3-Dihydroxyacetone dimer, 4TMS derivative", "D-Fructose, 5TMS derivative",
“D-阿洛酮糖,5TMS 衍生物”,“Sedoheptulose,6TMS 衍生物”, “D-2-脱氧核糖,3TMS 衍生物”,“2-脱氧核糖,3TMS 衍生物”, “L-岩藻糖,4TMS 衍生物”,“L-鼠李糖,(R,R,S,S)-,4TMS 衍生物”, “L-鼠李糖,4TMS 衍生物”,“N-乙酰基-D-葡萄糖胺,4TMS 衍生物”, “D-葡萄糖酸,6TMS 衍生物”,“甘油单硬脂酸酯,2TMS 衍生物”, “甘油 2-月桂酸酯,2TMS 衍生物”,“甘油,3TMS 衍生物”, “木糖醇,5TMS 衍生物”,“D-山梨糖醇,6TMS 衍生物”,“D-甘露糖醇,6TMS 衍生物”, “蔗糖,8TMS 衍生物”,“D-乳糖,(异构体 1),8TMS 衍生物”, “β-D-乳糖,(异构体 1),8TMS 衍生物”,“D-乳糖,(异构体 2),8TMS 衍生物”, “.beta.-D-乳糖,(异构体 2),8TMS 衍生物”,“.alpha.-D-乳糖,8TMS 衍生物”, “.alpha.-D-乳糖,8TMS 衍生物”,“.beta.-乳糖,8TMS 衍生物”, “乳糖,8TMS 衍生物”,“麦芽糖,8TMS 衍生物,异构体 1”, “麦芽糖,8TMS 衍生物,异构体 2”,“麦芽糖,8TMS 衍生物”, “D-海藻糖,7TMS 衍生物”,“蜜二糖,8TMS 衍生物”, “L-鸟氨酸,3TMS 衍生物”,“DL-鸟氨酸,3TMS 衍生物”, “DL-鸟氨酸,4TMS 衍生物”,“L-鸟氨酸,4TMS 衍生物”, “L-高丝氨酸,2TMS 衍生物”,“L-瓜氨酸,3TMS 衍生物”, “3-碘-L-酪氨酸,3TMS 衍生物”,“3-氨基异丁酸,TMS 衍生物”, “3-氨基异丁酸,3TMS 衍生物”,“3-氨基异丁酸,2TMS 衍生物”, “D-异亮氨酸,N-乙酰基-,TMS 衍生物”,“L-羟脯氨酸,(E)-,2TMS 衍生物”, “L-羟脯氨酸,(E)-,3TMS 衍生物”,“羟脯氨酸,3TMS 衍生物”, “3-羟脯氨酸,3TMS 衍生物”,“L-胱氨酸,4TMS 衍生物”, “乙醇胺,3TMS 衍生物”,“乙醇胺,2TMS 衍生物”, “3-氨基丙醇,TMS 衍生物”,“腐胺,4TMS 衍生物”, “组胺,2TMS 衍生物”,“组胺,3TMS 衍生物”,“多巴胺,4TMS 衍生物”, “多巴胺,3TMS 衍生物”,“血清素,4TMS 衍生物”,“酪胺,3TMS 衍生物”, “酪胺,TMS 衍生物”,“酪胺,2TMS 衍生物”,“苯乙胺,2TMS 衍生物”, “1-苯乙胺,TMS 衍生物”,“苯乙胺,TMS 衍生物”, “生物素,3TMS 衍生物”,“16.beta.,17.alpha.-雌三醇,3TMS 衍生物”, “雌三醇,3TMS 衍生物”,“16.alpha.,17.alpha.-雌三醇,3TMS 衍生物”, “16.beta.,17.beta.-雌三醇,3TMS 衍生物”,“雌酮,TMS 衍生物”, “16-雌酮,TMS 衍生物”,“雌酮,O-甲基肟,TMS 衍生物”, “Equilin,TMS 衍生物”,“Equilenin,(14.beta.)-,TMS 衍生物”, “Equilenin,TMS 衍生物”,“2-羟基雌二醇,3TMS 衍生物”, “雄酮,(E)-,TMS 衍生物”,“脱氢表雄酮,(E)-,TMS 衍生物”, “5.beta.-二氢睾酮,TMS 衍生物”,“5.alpha.-二氢睾酮,TMS 衍生物”, “睾酮 O-甲基肟,TMS 衍生物”,“睾酮,TMS 衍生物”, “孕烯醇酮,TMS 衍生物”,“醛固酮,2TMS 衍生物”, “醛固酮,N-甲氧基-三-TMS”,“皮质酮,双(O-甲基肟)”, “脱氧胆酸,2TMS 衍生物”,“脱氧胆酸,3TMS 衍生物”, “石胆酸,2TMS 衍生物”,“胆固醇,TMS 衍生物”, “地甾醇,TMS 衍生物”,“麦角甾醇,TMS 衍生物”, “菜油甾醇,TMS 衍生物”,“岩藻甾醇,TMS 衍生物”, “豆甾醇,TMS 衍生物”,“豆甾醇,TMS 衍生物”, “11-脱氧皮质醇,双(O-甲基肟)”,“褪黑激素,2TMS 衍生物”, “肾上腺素,4TMS 衍生物”,“L-肾上腺素,4TMS 衍生物”, “甘氨酸,3TMS 衍生物”,“甘氨酸,TMS 衍生物”,“甘氨酸,2TMS 衍生物”, “天冬氨酸,3TMS 衍生物”,“L-天冬氨酸,3TMS 衍生物”, “L-天冬氨酸,2TMS 衍生物”,“L-谷氨酸,3TMS 衍生物”, “(-)-肾上腺素,3TMS 衍生物”,“肾上腺素,(β)-,3TMS 衍生物”, “(-)-肾上腺素,4TMS 衍生物”,“去甲肾上腺素,(R)-,5TMS 衍生物”, “DL-去甲肾上腺素,4TMS 衍生物”,“去甲肾上腺素,(R)-,4TMS 衍生物”, “环丝氨酸,3TMS 衍生物”,“环己酰亚胺,2TMS 衍生物”, “氯霉素,2TMS 衍生物”,“氯霉素,3TMS 衍生物” )
谢谢。
【问题讨论】: