我有一个空的矩阵m
一个矩阵:灌装使用数据帧中的R
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"]
我怀疑我是不是在做数据帧索引是否正确?有任何想法吗?谢谢。
谢谢!这工作。你会预见到它的任何稳定性问题吗? – Elizabeth
我真的想不出任何。 – plannapus