将三列数据框架重塑为矩阵(“长”改为“宽”格式)

将三列数据框架重塑为矩阵(“长”改为“宽”格式)

我有一个data.frame看上去像这样。


x a 1 

x b 2 

x c 3 

y a 3 

y b 3 

y c 2 

我想要这个矩阵的形式,这样我就可以把它提供给热图来绘制一个图。结果应该如下所示:


    a    b    c

x   1    2    3

y   3    3    2

我试过了cast我试着编写了一个手动函数来完成这个任务,但是我似乎没能把它做好。


四季花海
浏览 1460回答 3
3回答

POPMUISE

R基地,unstackunstack(df,&nbsp;V3&nbsp;~&nbsp;V2)#&nbsp;&nbsp;&nbsp;a&nbsp;b&nbsp;c#&nbsp;1&nbsp;1&nbsp;2&nbsp;3#&nbsp;2&nbsp;3&nbsp;3&nbsp;2这可能不是一个通用的解决方案,但在这种情况下效果很好。数据df<-structure(list(V1&nbsp;=&nbsp;structure(c(1L,&nbsp;1L,&nbsp;1L,&nbsp;2L,&nbsp;2L,&nbsp;2L),&nbsp;.Label&nbsp;=&nbsp;c("x",&nbsp;"y"),&nbsp;class&nbsp;=&nbsp;"factor"), &nbsp;V2&nbsp;=&nbsp;structure(c(1L,&nbsp;2L,&nbsp;3L,&nbsp;1L,&nbsp;2L,&nbsp;3L),&nbsp;.Label&nbsp;=&nbsp;c("a",&nbsp;"b",&nbsp;"c"),&nbsp;class&nbsp;=&nbsp;"factor"),&nbsp; &nbsp;V3&nbsp;=&nbsp;c(1L,&nbsp;2L,&nbsp;3L,&nbsp;3L,&nbsp;3L,&nbsp;2L)),&nbsp;.Names&nbsp;=&nbsp;c("V1",&nbsp;"V2",&nbsp;"V3"),&nbsp;class&nbsp;=&nbsp;"data.frame",&nbsp;row.names&nbsp;=&nbsp;c(NA,&nbsp;-6L))
打开App,查看更多内容
随时随地看视频慕课网APP