Füllen einer Matrix mit einem Datenrahmen in R

Ich habe eine leere Matrixm:

m <- matrix(0, nrow = 4, ncol = 2, byrow = TRUE,
            dimnames = list(c("sp1", "sp2", "sp3", "sp4"),
                            c("x", "y")))

Und müssen die Matrix mit dem Datenrahmen d füllen

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))

so dass wennrowname(m) entsprichtd[, "species"] undm[, "x"] ist gleich demd[, "site"] dannd[, "freq"] wird an der richtigen Stelle in der Matrix m eingegeben, d. h.

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")))

Ich habe versucht:

m[d[, c("species", "x")]] <- d[, "freq"]

Ich vermute, ich mache die Datenrahmen-Indizierung nicht richtig? Irgendwelche Ideen? Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage