我有以下数据:
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
有人可以帮忙吗?
谢谢
除了 Metrics 的答案之外,这里还有两个 R 的附加选项(假设您data.frame
的称为“mydf”):
cbind(mydf[1], stack(mydf[-1]))
library(reshape)
melt(mydf, id.vars="word")
我不是 Excel 用户,但由于这个问题也被标记为“Excel”,我建议使用Tableau Reshaper Excel 插件。
对于您的示例,这非常简单:
安装插件并激活后,转到“Tableau”菜单。
选择包含要取消堆叠的值的单元格。单击确定。
查看结果。
从基础 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