【发布时间】:2018-07-03 14:38:31
【问题描述】:
我有如下数据表:
RowID| Col1 | Col2 |
----------------------
1 | apple | cow |
2 | orange | dog |
3 | apple | cat |
4 | cherry | fish |
5 | cherry | ant |
6 | apple | rat |
我想去这张桌子:
RowID| Col1 | Col2 | newCol
------------------------------
1 | apple | cow | cat
2 | apple | cow | rat
3 | orange | dog | na
4 | apple | cat | cow
5 | apple | cat | rat
6 | cherry | fish | ant
7 | cherry | ant | fish
8 | apple | rat | cow
9 | apple | rat | cat
为了帮助可视化上表的逻辑,它与下表基本相同,但列表列根据存在的值拆分为行。它与 col1 中的值匹配,因此例如原始表的第 1 行、第 3 行和第 6 行在第一列中有“apple”。因此,新的“列表”列将包括匹配行的所有 Col2 值。然后将每个列表元素扩展为一个新行。上面的第二个表是我想要的结果,第三个表只是为了帮助可视化值的来源。
RowID| Col1 | Col2 | newCol
------------------------------
1 | apple | cow | cat,rat (Row 3 & 6 match col1 values)
2 | orange | dog | na (No rows match this col1 value)
3 | apple | cat | cow,rat (Row 1 & 6 match col1 values)
4 | cherry | fish | ant (Row 5 matches col1 values)
5 | cherry | ant | fish (Row 4 matches col1 values)
6 | apple | rat | cow,cat (Row 1 & 3 match col1 values)
【问题讨论】:
标签: r