R中的“相关性矩阵”

问题描述 投票:0回答:1

我确定已经问过这个问题,但是我不确定要搜索什么术语。我想生成一个表/矩阵/数据框,以显示每个文件的该文件的md5sum是否等于其他所有文件的md5sum。下面的代码生成一些玩具数据和预期结果。由于此代码使用for循环,因此我将假定这不是最佳方法。

options(stringsAsFactors = FALSE)

name <- letters[1:9]
code <- c("1", "2", "2", "3", "4", "5", "2", "6", "6")
pairs <- data.frame(name = name, code = code)

for (i in 1:length(name)) {
    for (j in 1:length(name)) {
        if (i == 1 & j == 1) {
            data <- setNames(
                data.frame(
                    matrix(ncol = length(name), nrow = length(name)), 
                    row.names = name
                ), 
                name
            )
        }
        data[i, j] <- as.numeric(code[i] == code[j])
    }
}

是否存在可以执行此分析的功能,或者执行此操作的更好方法?

r comparison
1个回答
0
投票

尝试使用

data <- outer(code,code,function(x,y) ifelse(x==y,1,0))
rownames(data) <- name
colnames(data) <- name
© www.soinside.com 2019 - 2024. All rights reserved.