2

我有以下数据:

word 2013 年 1 月 2013 年 2 月 2013 年 3 月
一个 1 2 3
乙 5 2 4

我想将多个日期列转换为一个名为日期的列,并为该值添加一个附加列。

单词日期值
A 2013 年 1 月 1
A 2013 年 2 月 2
A 2013 年 3 月 3
B 2013 年 1 月 5
B 2013 年 2 月 2
B 2013 年 3 月 4

有人可以帮忙吗?

谢谢

4

2 回答 2

7

其他 R 选项

除了 Metrics 的答案之外,这里还有两个 R 的附加选项(假设您data.frame的称为“mydf”):

cbind(mydf[1], stack(mydf[-1]))

library(reshape)
melt(mydf, id.vars="word")

Excel 选项

我不是 Excel 用户,但由于这个问题也被标记为“Excel”,我建议使用Tableau Reshaper Excel 插件

对于您的示例,这非常简单:

  1. 安装插件并激活后,转到“Tableau”菜单。

  2. 选择包含要取消堆叠的值的单元格。单击确定。

  3. 查看结果。

    基本的

于 2013-10-23T04:46:10.390 回答
3

从基础 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
于 2013-10-22T23:50:43.580 回答