如何将每个单元格包含多个单独记录的数据“解压”为长格式

时间:2019-07-24 18:58:21

标签: r dplyr

给出一个带有变量的数据框,该变量包含不可预测的记录数,如何将其收集到长格式数据集中?如果一列中的所有条目都具有相同数量的信息,那么我会先将它们分成多列然后收集,但是在这种情况下,某些行仅具有此变量的一个值,而其他行则任意多,带有之间的常规分隔符。

在搜索中,我发现有人完成了该问题的相反,请参见此处:

https://markhneedham.com/blog/2015/06/27/r-dplyr-squashing-multiple-rows-per-group-into-one/

换句话说,我想要的转换是:

1  Andy Roddick      2009
2  David Nalbandian  2005
3  Grigor Dimitrov   2014
4  Marcos Baghdatis  2006
5  Rafael Nadal      2011, 2010, 2008
6  Roger Federer     2012

对此:

   winner            years
1  Andy Roddick      2009
2  David Nalbandian  2005
3  Grigor Dimitrov   2014
4  Marcos Baghdatis  2006
5  Rafael Nadal      2011
6  Roger Federer     2012
7  Rafael Nadal      2010
8  Rafael Nadal      2008

我知道分隔符的位置,但是对于第一个数据帧的每一行可能出现多少年没有上限。有没有办法让collect()做到这一点?

0 个答案:

没有答案