【发布时间】:2015-05-05 09:18:02
【问题描述】:
我知道标题确实令人困惑,但我必须解释我的问题。 我有 2 个数据集,其中首先包含以 pmid 表示的每篇文章的引用频率。它看起来像这样:
pmid year freq
1 14561399 2011 1
2 14561399 2012 3
3 18511332 2010 1
4 21193046 2012 2
5 21193046 2013 2
6 14561399 2013 1
7 18511332 2011 1
8 18511332 2012 3
9 14561399 2014 1
10 16533158 2013 2
第二个包含文章特征,如下所示:
pmid title_char title_wrds
1 20711763 75 9
2 20734175 109 12
3 20058113 93 13
4 20625865 142 17
5 20517661 103 12
6 20195930 128 16
您可以看到两个数据集都包含“pmid”,这是我需要“合并”或“加入”该数据集的参数。这不是问题,可以只使用 merge() 函数或 dplyr 包来完成。但是当我这样做时,结果如下所示:
pmid title_char title_wrds year freq
1 184 77 10 2010 1
2 406 142 20 2008 1
3 407 110 16 2008 1
4 407 110 16 2003 1
5 408 79 10 1998 1
6 450 58 7 2012 2
7 450 58 7 2009 1
我的问题是 - 如您所见,例如第 2 行和第 3 行 - 这两行包含同一篇文章(相同的 pmid,相同的特征),但由于引用年份,它在这两行中。
pmid title_char title_wrds year freq
3 407 110 16 2008 1
4 407 110 16 2003 1
我想要这样的东西:
pmid title_char title_wrds year2008Freq year2003Freq
1 407 110 16 1 1
即每 1 篇文章 1 行。
【问题讨论】:
-
reshape(dfN, idvar=c('pmid', 'title_char', 'title_wrds'), timevar='year', direction='wide')有帮助吗?或使用library(reshape2); dcast(dfN, ...~year, value.var='freq') -
问题已解决,谢谢!