首页 > 解决方案 > R从长到宽重塑数据框

问题描述

Station_list =  rep(c("ABC", "DEF", "GHI", "JKL", "MNO", "PQR"), each = 61)
testframe = data.frame(Station = Station_list)
testframe$Value = seq(from = 10, to = 25, length.out = 366)
testframe$Date = seq(ymd('2000-01-01'),ymd('2000-12-31'),by='day')

我想将此数据框重塑为这种格式:

Date          Station_ABC   Station_DEF   Station_GHI    Station_JKL    Station_MNO   Station_PQR 
2000-01-01    correct_values 

我试图以多种不同的方式重塑我的数据框,但没有任何效果符合我的要求。

library(reshape)
test <- cast(testframe, Date + Value ~ Station)

library(furniture)
test = wide (testframe, v.names = "Station", timevar = "Date", id = "Value")
test = wide (testframe, v.names = NULL, timevar = "Station", id = c("Value", "Date"))

test = reshape(testframe, v.names="Station", timevar="Date", idvar=c("Value"), direction="wide")

我做错了什么?

标签: rdataframereshape

解决方案


推荐阅读