0
我想切分几行并将数据添加回数据集中作为另一个变量。所以我的任务是这样的...转换将行切片并放回R中作为变量
location year value
aus 1990 1
aus 1991 2
aus 1992 2
usa 1990 1
usa 1991 3
usa 1992 2
uk 1990 3
uk 1991 2
uk 1992 2
...
into something like this
year value_aus value_usa value_uk
1990 1 1 3
1991 2 3 2
1992 2 2 2
.
.
.
我的数据有56年,为36个不同的国家。
我试过如下..
nations<-factor(data$LOCATION)
nationlist<-nations[!duplicated(nations)]
data_w<-data.frame(year=data$TIME[data$LOCATION==nationlist[1]])
for(loc in c(as.character(nationlist))){
data_w<-data.frame(data_w[,], loc = data$Value[data$LOCATION==loc], check.rows=TRUE)
}
但这并没有工作,吐出“的参数意味着不同的行号:54 56”,因为一些国家有不同的若干意见(年在这种情况下)我猜。
任何帮助将不胜感激。
Jinseok
,我认为这是不手动变换长格式转换成宽幅好主意。 'tidyr :: spread(your_data,location,value)'会给你想要的东西(参见'help(spread,tidyr)')。 – cuttlefish44
@墨鱼鱼哇!它完美的作品!非常感谢。 –