R重塑包

时间:2014-01-22 23:30:13

标签: r reshape

我正在尝试使用R的“reshape”包来改变我拥有的数据框,粘贴在下面。基本上,我想创建一个新的数据框,将变量V2和V3连接到V2和V3的所有可能组合的列中,行作为日期。我曾尝试使用reshape的强制转换功能,但是我无法将日期显示在行中。变量在列名中连接,但不包括日期。

这是数据框std:

V2      V3   V5       Date
AUS     CR   15344    2000-01-01
ALI     NG   3952     2000-01-01
EUR     CR   19296    2000-01-01
AUS     MO   5826     2000-01-01  

当我应用强制转换(std,Date~V2~V3,value =“V5”)时,我获得了如下所示的帧,但是我也无法显示Date列。我已经做了大量的试验和错误与演员和融化无济于事。任何建议将不胜感激

AUS.CR  ALI.NG  EUR.CR
15344   3952    19296
20108   4000    18568

1 个答案:

答案 0 :(得分:3)

您可以将reshape包裹(功能cast)或reshape2dcast一起使用:

x <- read.table(header=T,text='V2      V3   V5       Date
AUS     CR   15344    2000-01-01
ALI     NG   3952     2000-01-01
EUR     CR   19296    2000-01-01
AUS     MO   5826     2000-01-01')

reshapecast

library(reshape)
cast(x, Date ~ V2 + V3, value='V5')
#         Date ALI_NG AUS_CR AUS_MO EUR_CR
# 1 2000-01-01   3952  15344   5826  19296

使用reshape2dcast(相同的结果)

library(reshape2)
dcast(x, Date ~ V2 + V3, value.var='V5')