在R的每个条目中将列转换为多个行

我有以下数据:

字1月2013年2月2013年3月2013年
 A 1 2 3 
 B 5 2 4

我想将多个date列转换为一个命名date,并为该值添加一个额外的列。

单词date值
 2013年1月1日
 2013年2月2
 2013年3月3
 B 2013年1月5
 B二月-2013 2
 B三月2013 4

任何人都可以协助

谢谢

其他R选项

除了Metrics的回答之外,还有两个R选项(假设你的data.frame被称为“mydf”):

 cbind(mydf[1], stack(mydf[-1])) library(reshape) melt(mydf, id.vars="word") 

Excel选项

我不是一个Excel用户,但是因为这个问题也被标记为“Excel”,所以我build议使用Tableau Reshaper Excel插件 。

举个例子,这很简单:

  1. 安装加载项并激活后,转到“Tableau”菜单。

  2. select包含要拆散的值的单元格。 点击确定。

  3. 查看结果。

    使用Tableau的Excel附加组件重建基本的“宽”到“长”

使用从基础R reshape (df1是您的数据框)

  reshape(df1,times=names(df1)[-1],timevar="date",varying=names(df1)[-1],v.names="value",new.row.names=1:6,ids=NULL,direction="long") word date value 1 A Jan.2013 1 2 B Jan.2013 5 3 A Feb.2013 2 4 B Feb.2013 2 5 A Mar.2013 3 6 B Mar.2013 4