Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用于创建热图所需的相关矩阵的函数出错?_R_Function_For Loop_Matrix_Heatmap - Fatal编程技术网

R 用于创建热图所需的相关矩阵的函数出错?

R 用于创建热图所需的相关矩阵的函数出错?,r,function,for-loop,matrix,heatmap,R,Function,For Loop,Matrix,Heatmap,我试图创建一个函数,用名为“master”的数据框中不同数据列之间的相关性填充空数据框“dummy” 这是我的职责: master <- read.table("~/Desktop/Heatmap_Project/master.txt", header = T, sep = "\t", stringsAsFactors = F) vector_a <- names(master)[2:4] vector_b <- names(master)[11:18] # Such th

我试图创建一个函数,用名为“master”的数据框中不同数据列之间的相关性填充空数据框“dummy”

这是我的职责:

master <- read.table("~/Desktop/Heatmap_Project/master.txt", header = T, sep = "\t", stringsAsFactors = F)

vector_a <- names(master)[2:4] 
vector_b <- names(master)[11:18]
# Such that, you compare every column in vector_a with every column in vector_b 


heatmap_prep <- function(dataframe, vector_a,vector_b){
    dummy <- as.data.frame(matrix(0, ncol=length(vector_a), nrow=length(vector_b)))
    for (i in 1:length(vector_a)){
                first_value <- dataframe[[ vector_a[i]  ]]
                # print(first_value)
            for(j in 1:length(vector_b)){
                    second_value <- dataframe[[ vector_b[j] ]]
                    # print(second_value)
                    result <- cor(first_value, second_value)
                    dummy [i,j] <- result
            }
        }
        return(as.matrix(dummy))
    }

heatmap_data_matrix1 <- heatmap_prep(master,vector_a, vector_b) 

master您的
dummy
形状错误-列和行在
dummy[i,j]中的分配方式相反。请不要在示例中使用
read.table
。这对其他人都没用。而是提供一些可复制的实际虚拟数据
  dummy <- as.data.frame(matrix(0, nrow=length(vector_a), ncol=length(vector_b)))