如何基于r中的长表列表创建面板
我有如下数据集:如何基于r中的长表列表创建面板,r,R,我有如下数据集: wk name score 3 - Davide - 3.070000 6 - Davide - 3.460000 7 - Davide - 3.480000 48 -Cringe- 2.773333 79 -Fabynsane- 2.330000 69 -PiDjO- 2.070000 61 -sjb- 2.310000 name1 name2 name3 ... wk1 wk2 wk3 ...
wk name score
3 - Davide - 3.070000
6 - Davide - 3.460000
7 - Davide - 3.480000
48 -Cringe- 2.773333
79 -Fabynsane- 2.330000
69 -PiDjO- 2.070000
61 -sjb- 2.310000
name1 name2 name3 ...
wk1
wk2
wk3
...
我想使用此信息构建一个面板,如下所示:
wk name score
3 - Davide - 3.070000
6 - Davide - 3.460000
7 - Davide - 3.480000
48 -Cringe- 2.773333
79 -Fabynsane- 2.330000
69 -PiDjO- 2.070000
61 -sjb- 2.310000
name1 name2 name3 ...
wk1
wk2
wk3
...
我在重塑中尝试过dcast:
panel.num = dcast(data, name + wk ~ score)
但它给了我一个如下的面板,这显然不是我想要的:
Authorname wk.list 1 2 3 4 5 6 7 8 9 10 11 12 13
2 - Davide - 3 1 NA NA NA NA NA NA NA NA NA NA NA NA NA
3 - Davide - 6 1 NA NA NA NA NA NA NA NA NA NA NA NA NA
我想知道出了什么问题,以及如何解决这个问题。谢谢~试试做
wk~name
,即
dat <- data.frame(wk=sample(1:100, 10),
name=sample(c("Davide", "Cringe", "Fabynsane"), 10, rep=T),
score=runif(10, 2, 3))
library(reshape2)
dcast(dat, wk ~ name)
# wk Cringe Davide Fabynsane
# 1 8 NA 2.225543 NA
# 2 12 NA NA 2.958040
# 3 46 NA 2.659209 NA
# 4 47 NA 2.086529 NA
# 5 59 NA NA 2.287232
dat尝试做wk~name
,即
dat <- data.frame(wk=sample(1:100, 10),
name=sample(c("Davide", "Cringe", "Fabynsane"), 10, rep=T),
score=runif(10, 2, 3))
library(reshape2)
dcast(dat, wk ~ name)
# wk Cringe Davide Fabynsane
# 1 8 NA 2.225543 NA
# 2 12 NA NA 2.958040
# 3 46 NA 2.659209 NA
# 4 47 NA 2.086529 NA
# 5 59 NA NA 2.287232
dat尝试做wk~name
,即
dat <- data.frame(wk=sample(1:100, 10),
name=sample(c("Davide", "Cringe", "Fabynsane"), 10, rep=T),
score=runif(10, 2, 3))
library(reshape2)
dcast(dat, wk ~ name)
# wk Cringe Davide Fabynsane
# 1 8 NA 2.225543 NA
# 2 12 NA NA 2.958040
# 3 46 NA 2.659209 NA
# 4 47 NA 2.086529 NA
# 5 59 NA NA 2.287232
dat尝试做wk~name
,即
dat <- data.frame(wk=sample(1:100, 10),
name=sample(c("Davide", "Cringe", "Fabynsane"), 10, rep=T),
score=runif(10, 2, 3))
library(reshape2)
dcast(dat, wk ~ name)
# wk Cringe Davide Fabynsane
# 1 8 NA 2.225543 NA
# 2 12 NA NA 2.958040
# 3 46 NA 2.659209 NA
# 4 47 NA 2.086529 NA
# 5 59 NA NA 2.287232
dat其他选项包括
library(tidyr)
spread(dat, name, score)
或者从base R
reshape(dat, idvar='wk', timevar='name', direction='wide')
其他选择包括
library(tidyr)
spread(dat, name, score)
或者从base R
reshape(dat, idvar='wk', timevar='name', direction='wide')
其他选择包括
library(tidyr)
spread(dat, name, score)
或者从base R
reshape(dat, idvar='wk', timevar='name', direction='wide')
其他选择包括
library(tidyr)
spread(dat, name, score)
或者从base R
reshape(dat, idvar='wk', timevar='name', direction='wide')