如何基于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')