将索引 table 转换为字符矩阵(或 df)?在 R

Convert index table to character matrix (or df)? in R

我不断收到奇怪的错误。这个逻辑对我来说似乎很合理。你能看看下面的代码并提供一些见解吗?谢谢

    rw      <- c(1,1,1,2,2,2,3,3,3)
    cl      <- c(1,2,3,1,2,3,1,2,3)
    ch      <- c("A","bv","c","dog","cat","bird","red", "yel","fuscia")
    df      <- data.frame(rw, cl, ch)
    df
    layout  <- matrix(NA, nrow=3, ncol=3)
    layout[df[,1:2]] <- df[,3]

错误是:

Error in layout[df[, 1:2]] <- df[, 3] : invalid subscript type 'list'

按照您最初的计划,矩阵索引需要 matrix,而不是 data.frame

layout[as.matrix(df[,1:2])] <- as.character(df[,3])

...将起作用(经过一些调整以确保您的 factor 数据转换为 character 形式)。您的错误实质上是说您不能使用 list(或 data.frame,这是一种列表)进行索引。