Заполнение матрицы с использованием кадра данных в R
У меня пустая матрицаm
:
m <- matrix(0, nrow = 4, ncol = 2, byrow = TRUE,
dimnames = list(c("sp1", "sp2", "sp3", "sp4"),
c("x", "y")))
И нужно заполнить матрицу с использованием фрейма данных d
d <- data.frame(site = c("x", "y", "u", "v"),
species = c("sp1", "sp1", "sp1", "sp1"),
freq = c(0.2, 0.3, 0.5, 0.1))
так что еслиrowname(m)
равноd[, "species"]
а такжеm[, "x"]
равноd[, "site"]
затемd[, "freq"]
введено в правильном месте в матрице m, то есть возвращено:
m <- matrix(c(0.2, 0, 0, 0, 0, 0, 0, 0), nrow = 4, ncol = 2, byrow = TRUE,
dimnames = list(c("sp1", "sp2", "sp3", "sp4"),
c("x", "y")))
Я пытался:
m[d[, c("species", "x")]] <- d[, "freq"]
Я подозреваю, что не делаю индексацию фрейма данных должным образом? Есть идеи? Благодарю.