wilcox(MWU)-非参数的方差分析 data <- read.csv("test.csv", header = TRUE) lapply(data[2:33],function(x) wilcox.test(x ~ Label, data = data)) getwd() #查看当前的工作目录 str(data) install.packages('')
时间: 2023-06-02 09:03:28 浏览: 168
这段代码是用R语言实现Wilcoxon秩和检验的非参数方差分析。其中,通过read.csv读取了名为test.csv的数据文件,然后使用lapply对数据集的列进行遍历,对每列数据进行Wilcoxon秩和检验,并将结果输出。函数中的“Label”表示不同样本的标签,通过这个标签对数据集进行分组比较。最后使用getwd()函数可以查看当前工作目录。
相关问题
解释这段代码for (i in cancer_types){ admat<-read.csv(str_c(dir,"\tcga_data\",i,"\admat.csv"),check.names=F) positive_rna<-read.csv(str_c(dir,"\tcga_data\",i,"\positive_normalized_rna.csv"),row.names = 1, check.names = F) negative_rna<-read.csv(str_c(dir,"\tcga_data\",i,"\negative_normalized_rna.csv"),row.names = 1, check.names = F) positive_mi<-read.csv(str_c(dir,"\tcga_data\",i,"\positive_normalized_mi.csv"),row.names = 1, check.names = F) negative_mi<-read.csv(str_c(dir,"\tcga_data\",i,"\negative_normalized_mi.csv"),row.names = 1, check.names = F) normal_rna<-read.csv(str_c(dir,"\tcga_data\",i,"\normal_normalized_rna.csv"),row.names = 1, check.names = F) normal_mi<-read.csv(str_c(dir,"\tcga_data\",i,"\normal_normalized_mi.csv"),row.names = 1, check.names = F) positive_delta<-cal_delta_pcc(admat,normal_rna,normal_mi,positive_rna,positive_mi) negative_delta<-cal_delta_pcc(admat,normal_rna,normal_mi,negative_rna,negative_mi) wilcox<-delta_wilcox_test(positive_delta,negative_delta,wilcox_pval) write.csv(wilcox,str_c(dir,"\tcga_data\",i,"\wilcox.csv"),quote=F,row.names=F) row.names(wilcox)<-str_c(wilcox[,1],"",wilcox[,2]) positive_delta<-na.omit(positive_delta) row.names(positive_delta)<-str_c(positive_delta[,1],"",positive_delta[,2]) negative_delta<-na.omit(negative_delta) row.names(negative_delta)<-str_c(negative_delta[,1],"_",negative_delta[,2]) positive_delta<-positive_delta[row.names(positive_delta)%in%row.names(wilcox),] negative_delta<-negative_delta[row.names(negative_delta)%in%row.names(wilcox),] negative_delta<-negative_delta ml_input<-merge(positive_delta,negative_delta,by="row.names") ml_input<-ml_input write.csv(ml_input,str_c(dir,"\tcga_data\",i,"\ml_input.csv"),quote=F,row.names=F) }
这段代码是一个循环,它遍历一个名为"cancer_types"的列表中的每个元素。在循环的每一次迭代中,它执行以下操作:
1. 读取一个名为"admat.csv"的文件,并将其存储为一个数据框对象(admat)。
2. 读取名为"positive_normalized_rna.csv"和"negative_normalized_rna.csv"的文件,并将它们分别存储为数据框对象(positive_rna和negative_rna)。
3. 读取名为"positive_normalized_mi.csv"和"negative_normalized_mi.csv"的文件,并将它们分别存储为数据框对象(positive_mi和negative_mi)。
4. 读取名为"normal_normalized_rna.csv"和"normal_normalized_mi.csv"的文件,并将它们分别存储为数据框对象(normal_rna和normal_mi)。
5. 使用上述数据框对象以及一个名为"cal_delta_pcc"的函数计算正样本和负样本的delta值(positive_delta和negative_delta)。
6. 使用上述delta值以及一个名为"delta_wilcox_test"的函数计算Wilcoxon秩和检验结果(wilcox)。
7. 将Wilcoxon秩和检验结果(wilcox)写入名为"wilcox.csv"的文件。
8. 设置Wilcoxon秩和检验结果(wilcox)的行名(row.names)为两个变量的组合。
9. 删除正样本和负样本的delta值中的缺失值(na.omit)。
10. 设置正样本和负样本的delta值的行名(row.names)为两个变量的组合。
11. 从正样本和负样本的delta值中选择那些在Wilcoxon秩和检验结果(wilcox)中存在的行。
12. 将正样本和负样本的delta值进行合并(merge),并存储为一个名为"ml_input"的数据框对象。
13. 将合并后的数据框对象(ml_input)写入名为"ml_input.csv"的文件。
总体来说,这段代码根据给定的"cancer_types"列表中的每个元素,读取相应的数据文件,并进行一系列计算和处理操作,最终生成一个名为"ml_input.csv"的文件。
请解释一下这段代码for (i in cancer_types){ admat<-read.csv(str_c(dir,"\\tcga_data\\",i,"\\admat.csv"),check.names=F) positive_rna<-read.csv(str_c(dir,"\\tcga_data\\",i,"\\positive_normalized_rna.csv"),row.names = 1, check.names = F) negative_rna<-read.csv(str_c(dir,"\\tcga_data\\",i,"\\negative_normalized_rna.csv"),row.names = 1, check.names = F) positive_mi<-read.csv(str_c(dir,"\\tcga_data\\",i,"\\positive_normalized_mi.csv"),row.names = 1, check.names = F) negative_mi<-read.csv(str_c(dir,"\\tcga_data\\",i,"\\negative_normalized_mi.csv"),row.names = 1, check.names = F) normal_rna<-read.csv(str_c(dir,"\\tcga_data\\",i,"\\normal_normalized_rna.csv"),row.names = 1, check.names = F) normal_mi<-read.csv(str_c(dir,"\\tcga_data\\",i,"\\normal_normalized_mi.csv"),row.names = 1, check.names = F) positive_delta<-cal_delta_pcc(admat,normal_rna,normal_mi,positive_rna,positive_mi)#"自定义cal_delta_pcc"函数计算正样本和负样本的delta值,并把数据装入positive_delta中 negative_delta<-cal_delta_pcc(admat,normal_rna,normal_mi,negative_rna,negative_mi) wilcox<-delta_wilcox_test(positive_delta,negative_delta,wilcox_pval)#自定义delta_wilcox_test函数计算结果 write.csv(wilcox,str_c(dir,"\\tcga_data\\",i,"\\wilcox.csv"),quote=F,row.names=F) row.names(wilcox)<-str_c(wilcox[,1],"_",wilcox[,2]) positive_delta<-na.omit(positive_delta) row.names(positive_delta)<-str_c(positive_delta[,1],"_",positive_delta[,2]) negative_delta<-na.omit(negative_delta) row.names(negative_delta)<-str_c(negative_delta[,1],"_",negative_delta[,2]) positive_delta<-positive_delta[row.names(positive_delta)%in%row.names(wilcox),] negative_delta<-negative_delta[row.names(negative_delta)%in%row.names(wilcox),] negative_delta<-negative_delta[,3:ncol(negative_delta)] ml_input<-merge(positive_delta,negative_delta,by="row.names") ml_input<-ml_input[,-1] write.csv(ml_input,str_c(dir,"\\tcga_data\\",i,"\\ml_input.csv"),quote=F,row.names=F) }
这段代码是一个循环,使用了一个变量`i`来迭代`cancer_types`列表中的元素。在每次迭代中,代码执行以下操作:
1. 从指定路径读取`admat.csv`文件,并将其存储在名为`admat`的变量中。
2. 从指定路径读取`positive_normalized_rna.csv`文件,并将其存储在名为`positive_rna`的变量中。
3. 从指定路径读取`negative_normalized_rna.csv`文件,并将其存储在名为`negative_rna`的变量中。
4. 从指定路径读取`positive_normalized_mi.csv`文件,并将其存储在名为`positive_mi`的变量中。
5. 从指定路径读取`negative_normalized_mi.csv`文件,并将其存储在名为`negative_mi`的变量中。
6. 从指定路径读取`normal_normalized_rna.csv`文件,并将其存储在名为`normal_rna`的变量中。
7. 从指定路径读取`normal_normalized_mi.csv`文件,并将其存储在名为`normal_mi`的变量中。
8. 使用自定义函数`cal_delta_pcc`计算正样本和负样本的delta值,并将结果存储在名为`positive_delta`和`negative_delta`的变量中。
9. 使用自定义函数`delta_wilcox_test`计算正样本和负样本的Wilcoxon秩和检验结果,并将结果存储在名为`wilcox`的变量中。
10. 将`wilcox`写入到指定路径下的`wilcox.csv`文件中。
11. 根据`wilcox`的第一列和第二列创建行名,并将其存储在`wilcox`的行名中。
12. 从`positive_delta`中删除包含NA值的行,并根据第一列和第二列创建新的行名。
13. 从`negative_delta`中删除包含NA值的行,并根据第一列和第二列创建新的行名。
14. 从`positive_delta`中选择行名在`wilcox`的行名之内的行。
15. 从`negative_delta`中选择行名在`wilcox`的行名之内的行,并仅保留第三列到最后一列的数据。
16. 使用行名合并`positive_delta`和`negative_delta`,并将结果存储在名为`ml_input`的变量中。
17. 从`ml_input`中删除第一列。
18. 将`ml_input`写入到指定路径下的`ml_input.csv`文件中。
以上操作将在每个`cancer_types`列表元素上执行,直到迭代完所有元素为止。
阅读全文