【发布时间】:2018-05-08 00:57:19
【问题描述】:
我有一个包含两列 lift 和 skill.set 的数据数据框。在skill.set 中,包含一串以逗号分隔的技能。例如,可能有一个字符串“Excel, PowerPoint”和另一个“PowerPoint, Excel”。这两个观察正在捕获相同的数据,我只想保留其中一个(具有最高提升的那个)。如果不将每个字符串天真地转换为元素用逗号分隔的向量,然后编写一个 for 循环将每个 skill.set 数据与彼此 skill.set 数据进行比较,我想不出一种有效的方法。
示例数据框:
df = structure(list(lift = c(5.71421247789905, 4.65329289252856, 5.87820023244231,
21.1815668998877), skill.set = c("JavaScript,Microsoft.Excel..MS.Excel.,Microsoft.Word,Python,Microsoft.PowerPoint",
"Microsoft.PowerPoint,Microsoft.Word,Python,SQL,Microsoft.Excel..MS.Excel.",
"Microsoft.Excel..MS.Excel.,Microsoft.Word,Python,SQL,Microsoft.PowerPoint",
"Analytics...Text.Mining,Natural.Language.Processing,Python")), .Names = c("lift",
"skill.set"), row.names = 239:242, class = "data.frame")
所需的数据框:
structure(list(lift = c(5.71421247789905, 5.87820023244231, 21.1815668998877
), skill.set = c("JavaScript,Microsoft.Excel..MS.Excel.,Microsoft.Word,Python,Microsoft.PowerPoint",
"Microsoft.Excel..MS.Excel.,Microsoft.Word,Python,SQL,Microsoft.PowerPoint",
"Analytics...Text.Mining,Natural.Language.Processing,Python")), .Names = c("lift",
"skill.set"), row.names = c(239L, 241L, 242L), class = "data.frame")
【问题讨论】:
标签: r string vector duplicates set