y <- as.numeric(exprSet2[,"ENSG00000049541"]) colnames <- colnames(exprSet2) cor_data_df <- data.frame(colnames) for (i in 1:length(colnames)){ test <- cor.test(as.numeric(exprSet2[,i]),y,type="spearman") cor_data_df[i,2] <- test$estimate cor_data_df[i,3] <- test$p.value cor_data_df[i,4] <- gene } names(cor_data_df) <- c("symbol","correlation","pvalue")这段代码什么意思
时间: 2024-03-18 13:42:45 浏览: 108
这段代码的主要作用是计算一个基因(ENSG00000049541)与数据集中所有其他基因的相关性。具体来说,它会将数据集中的每个基因与目标基因进行Spearman相关性分析,并将结果存储在一个数据框中。其中,第一列是数据集中其他基因的符号,第二列是相关性系数,第三列是p值,第四列是目标基因的符号。这个过程会对数据集中的每个基因重复进行,最终生成一个包含所有相关性分析结果的数据框。
相关问题
A <- data.frame(v=character(),m=numeric()) for(i in colnames(df)){missing<-sum(df[[i]]=="") append(A$v,i) append(A$m,missiong)},运行完后 为什么A是个空的数据框
根据你提供的代码,A是一个空数据框,因为在第一行中定义了A为一个没有任何行和列的数据框,即使在for循环中使用append()函数向A中添加数据,也不会改变A的结构。如果你希望A成为一个与df相同列名的数据框,可以使用以下代码:
```R
A <- data.frame(v=colnames(df), m=rep(0, ncol(df)))
for(i in colnames(df)){
missing <- sum(df[[i]]=="")
A[m == i, "m"] <- missing
}
```
这里使用rep()函数来创建与df相同列数的0向量,并在for循环中使用A[m == i, "m"] <- missing来将每个列的缺失值数量添加到A中。
阅读全文