【发布时间】:2015-05-11 20:19:52
【问题描述】:
根据我的搜索结果,这个问题以前没有被问过。 我有一个名为 Product 的数据框列。此列仅在一列中包含公司名称和产品型号。
product.df <- data.frame("Product" = c("Company1 123M UG", "Company1 234M-I", "Company2 763-87-U","Company2 777-87", "Company3 Name1 87M", "Company3 Name1 O77M", "Company3 Name1 765-U MP"))
我想将这一列中的公司名称和产品型号分成两列。我需要一个可以在行之间找到相似单词并将它们分类为公司名称并将其余字母分类为产品型号的函数。据我所知,没有两行具有相同的型号。所以在上面的情况下。我会得到这个答案
new.product.df <- data.frame("CompanyName" = c("Company1", "Company1", "Company2","Company2", "Company3 Name1", "Company3 Name1", "Company3 Name1"), "Model" = c("123M UG", "234M-I", "763-87-U", "777-87", "87M", "O77M", "765-U MP"))
我需要一个可以比较两个字符串并返回相似的连续字母和不相似的字母的函数。
【问题讨论】:
-
什么是"比较两个字符串并返回相似的连续字母和不相似的字母"?请举个例子。您想同时提取型号名称/编号并进行比较吗?哪一个? "Company3 Name1 87M" 的预期输出是什么?是 "Name1 87M"、"1 87M" 还是 "87M"?
-
如何知道
Name1是公司名称的一部分还是型号名称的开头? -
说“将公司名称和产品型号从这一列分成两列” 很不清楚——产品名称是哪一列“Name1” 进去?您确实需要举例说明。
-
公司名称可以是任何字母数字和空格的混合,除非产品名称具有某种结构,否则这个问题无法完全解决。