我正在尝试使用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
答案 0 :(得分:3)
您可以将reshape
包裹(功能cast
)或reshape2
与dcast
一起使用:
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')
reshape
和cast
:
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
使用reshape2
和dcast
(相同的结果)
library(reshape2)
dcast(x, Date ~ V2 + V3, value.var='V5')