Ну, кто-то должен показать, как это сделать с индексацией строк / столбцов ...
ta <- structure(list(ranks = c(512L, 1024L, 2048L, 256L, 128L, 256L,
512L, 1024L, 2048L, 4096L), omp = c(4L, 2L, 1L, 8L, 16L, 16L,
8L, 4L, 2L, 1L), ALLA1 = c(772.9, 769.9, 914.2, 932.3, 1352,
948.4, 761.5, 667.9, 744.9, 956.7)), .Names = c("ranks", "omp",
"ALLA1"), class = "data.frame", row.names = c(NA, -10L))
out <- with(ta, {
ranks <- factor(ranks)
omp <- factor(omp)
out <- matrix(nrow=nlevels(omp), ncol=nlevels(ranks),
dimnames=list(levels(omp), levels(ranks)))
out[cbind(omp, ranks)] <- ALLA1
out
})
С результатом
> print(out, na="")
128 256 512 1024 2048 4096
1 914.2 956.7
2 769.9 744.9
4 772.9 667.9
8 932.3 761.5
16 1352 948.4