我有以下数据。
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
完成此工作,但是我尝试了许多变体,但是正在拉我的头发。有人可以帮忙吗?