【发布时间】:2016-09-08 17:33:46
【问题描述】:
下面给出了两个数据框:
df1
ob optcode
1 flora gg,bb,cc, pb
2 alexa tt,dd, pb
3 dixon gg, cc
df2
obname type
1 gg orange
2 bb apple
3 cc nooption
4 tt grape
5 pb nooption
6 dd melon
我正在做的是使用 cSplit 或 strsplit 函数之类的方法拆分 df1 中的“optcode”列,但这些值应该进入它们对应的列,如 df2 中所述。因此对于 df1 中的 row-1,flora 在 gg,bb,cc 的 optcode 下具有三个值。应该拆分这些值,以便 gg 与 df2 中的类型匹配,然后列名成为类型,而 'gg' 作为值。其余的也一样。结果应该是:
df3
ob nooption orange apple grape melon
1 flora cc, pb gg bb none none
2 alexa pb none none tt dd
3 dixon cc gg none none none
要注意的另一件事是,如果 df2 中的 optcode 没有类型,那么对于其余类型,应该有一个空字符串或 NA 或不显示。如果没有与该值关联的类型,则应该有与类型一样多的列加上一个附加的选项列,其中填充一个值。希望解释是有道理的。
我已经在 df1 上尝试了 cSplit,它运行成功,但由于之后需要更多手动处理,因此没有达到预期的结果。
期待听到实现上述目标的建议和方法。
谢谢。
【问题讨论】:
-
为什么不分享您已经编写的代码,以便我们帮助完成最后一步,而不是让我们从头开始。