将列值重新整形为列名称

use*_*782 4 r reshape

我有一个具有以下结构的数据集:

df <- data.frame(mult=c(1,2,3,4),red=c(1,0.9,0.8,0.7),
result=c('value1','value2','value3','value4'))
Run Code Online (Sandbox Code Playgroud)

我想在三维图中显示(x轴:多轴,y轴:红色,xy点是'结果')或多个二维图.显然,真正的DF有更多的行和多重和红色的组合.

多列和红色列没有重复值.我想要的是将DF重塑为DF1:

-   1      0.9      0.8     0.7
1   value1 
2          value2
3                  value3
4  .....
Run Code Online (Sandbox Code Playgroud)

基本上:

1)[mult]值保持不变(第1列)
2)[red]值成为列名.
3)'mult'和'red'之间的每个交叉是新DF中的值

我的偏好是使用重塑功能,但其他包也很好.

在此先感谢,p.

akr*_*run 5

尝试

 library(reshape2)
 df1 <- transform(df, result=as.character(result), 
                  red= factor(red, levels= unique(red)))
 dcast(df1, mult~red, value.var='result', fill='')[-1]
 #        1    0.9    0.8    0.7
 #1 value1                     
 #2        value2              
 #3               value3       
 #4                      value4
Run Code Online (Sandbox Code Playgroud)