我的数据框D
是这样的。
D$fit
有距离(0:6)和dg(1:3)信息
D <- read.table(header = TRUE, text = "
distance dg fit
1 0 1 A
2 1 1 B
3 2 1 C
4 3 1 D
5 4 1 E
6 5 1 F
7 6 1 G
8 0 2 H
9 1 2 I
10 2 2 J
11 3 2 K
12 4 2 L
13 5 2 M
14 0 3 O
15 1 3 P
16 2 3 Q
17 3 3 R
")
我想为此矩阵md
指定适合值,对应于距离和dg。
md <- matrix(1:21, nrow = 7)
colnames(md) <- c(1:3)
rownames(md) <- c(0:6)
md[] <- NA
1 2 3
0 NA NA NA
1 NA NA NA
2 NA NA NA
3 NA NA NA
4 NA NA NA
5 NA NA NA
6 NA NA NA
我已尝试但未能使用此代码
cmd = expand.grid(i=seq(0,6), j = seq(1,3))
i <- seq(0,6)
j <- seq(1,3)
md[i,j] <- D$fit[D$distance == cmd[1] & D$dg == cmd[2]]
答案 0 :(得分:0)
我们可以使用acast
library(reshape2)
library(reshape2)
acast(D, distance~dg, value.var="fit")
或reshape
base R
reshape(D, idvar="distance", timevar="dg", direction="wide")