使用熔化和浇铸来重塑数据(R中的重塑/ reshape2)

时间:2019-06-25 23:50:03

标签: r casting reshape reshape2 melt

我有以下数据。

 data <- matrix(c(13.54576,"B","B","B","A","B","A","A", 12.48550, "B","A","B","NA","B","B","B", 12.57386, "B","A","B","B","B","NA","A", 12.11360, "B","A","A","B","B","A","B", 13.51943, "B","A","B","B","B","A","NA", 12.64847, "B","B","B","NA","B","B","B", 12.97495, "B","NA","B","NA","B","A","B", 12.99729, "A","A","B","NA","B","B","B", 12.84192, "NA","B","A","B","B","B","B", 13.09035, "B","B","B","B","B","B","B"),ncol=8,byrow=TRUE)
 colnames(data) <- c("value","P","Q", "R", "S", "T", "U", "V")
 data <- data.frame(data)

这看起来像这样:

       value  P  Q R  S T  U  V
 1  13.54576  B  B B  A B  A  A
 2   12.4855  B  A B NA B  B  B
 3  12.57386  B  A B  B B NA  A
 4   12.1136  B  A A  B B  A  B
 5  13.51943  B  A B  B B  A NA
 6  12.64847  B  B B NA B  B  B
 7  12.97495  B NA B NA B  A  B
 8  12.99729  A  A B NA B  B  B
 9  12.84192 NA  B A  B B  B  B
 10 13.09035  B  B B  B B  B  B

我想重塑数据以获得所需的输出:

    value   var1    var2
 1  13.54576    P   B
 2  13.54576    Q   B
 3  13.54576    R   B
 4  13.54576    S   A
 5  13.54576    T   B
 6  13.54576    U   A
 7  13.54576    V   A
 8  12.48550    P   B
 9  12.48550    Q   A
 10 12.48550    R   B
 11 12.48550    S   NA
 12 12.48550    T   B
 13 12.48550    U   B
 14 12.48550    V   B
 etc...

我花了很多时间阅读有关SO的博客和答案,并试图了解如何使用melt cast reshape完成此工作,但是我尝试了许多变体,但是正在拉我的头发。有人可以帮忙吗?

0 个答案:

没有答案