R 动态定义变量名 assign
rm(list=ls()) library(GSVA)
library(GSEABase)
library(GSVAdata)
library(msigdbr)
library(org.Hs.eg.db)
library(Seurat)
library(Rtsne)
setwd("/heartdata8t_A/zhangpeng/Final.results/Final_Project_III/GSVA") ### Merging the cannicalc2BroadSets
data(c2BroadSets)
canonicalC2BroadSets <- c2BroadSets[c(grep("^KEGG", names(c2BroadSets)),
grep("^REACTOME", names(c2BroadSets)),
grep("^BIOCARTA", names(c2BroadSets)))]
## Adding Hallmark genesets
m_df = msigdbr(species = "Homo sapiens", category = "H")
gset.all <- unique(m_df$gs_name) for(geneset_i in :length(gset.all)){
names_geneset_i <- gset.all[geneset_i]
entrez_gene_geneset_i <- as.character(unique(m_df$entrez_gene[which(m_df$gs_name == gset.all[geneset_i])]))
HallMarks <- GeneSet(entrez_gene_geneset_i, geneIdType=EntrezIdentifier(),
collectionType=BroadCollection(category="c2"), setName=names_geneset_i)
canonicalC2BroadSets <- GeneSetCollection(c(canonicalC2BroadSets, HallMarks))
} ## Adding human-curated genesets (GEO/Cancer)
load("GC.signature.Rdata")
GC.signature <- as.character(mapIds(org.Hs.eg.db, GC.signature, 'ENTREZID', 'SYMBOL'))
GC.signature <- GeneSet(GC.signature, geneIdType=EntrezIdentifier(),
collectionType=BroadCollection(category="c2"), setName="GC.signature")
canonicalC2BroadSets <- GeneSetCollection(c(canonicalC2BroadSets, GC.signature)) load("GC.signature.literature.Rdata")
GC.signature.literature <- as.character(mapIds(org.Hs.eg.db, GC.signature.literature, 'ENTREZID', 'SYMBOL'))
GC.signature.literature <- GeneSet(GC.signature.literature, geneIdType=EntrezIdentifier(),
collectionType=BroadCollection(category="c2"), setName="GC.signature.literature")
canonicalC2BroadSets <- GeneSetCollection(c(canonicalC2BroadSets, GC.signature.literature)) # Computing the GSVA score based the above curated datasets
load("subset.epithelial.cells.gc.signature.Rdata")
processed.data <- as.matrix(epithelial.cells.re.subset.GC.signature@assays$SCT@counts) rownames.processed.data <- rownames(processed.data)
entrez.rownames.processed.data <- as.character(mapIds(org.Hs.eg.db, rownames.processed.data , 'ENTREZID', 'SYMBOL')) invalid.index <- which(is.na(entrez.rownames.processed.data))
processed.data <- processed.data[-invalid.index,]
rownames(processed.data) <- entrez.rownames.processed.data[-invalid.index] esmicro.processed <- gsva(processed.data, canonicalC2BroadSets, min.sz=, max.sz=,
mx.diff=TRUE, verbose=FALSE, parallel.sz=, kcdf = "Poisson")
## Results
# library(pheatmap)
# esmicro.processed <- esmicro.processed[grep("KEGG",rownames(esmicro.processed)),]
# pheatmap(esmicro.processed) save(esmicro.processed,file = "esmicro.processed.Rdata")
tsne <- Rtsne(esmicro.processed,dims = )
plot(tsne$Y) epi<-epithelial.cells.re@meta.data
bb<-epi$SCT_snn_res.[which(epi$SCT_snn_res. ==)] bb<-epi[which(epi[,]==),]
cc<-epi[which(epi[,]==),]
aa<-rbind(bb,cc)
g1.index<-rownames(aa)
pro<- esmicro.processed
g1<-pro[ , which(colnames(pro) %in% g1.index )]
g2<-pro[ , -which(colnames(pro) %in% g1.index )] heatmap(pro) pathway_name = rownames(g1)
tm <- list('P-value' = c(), 'Pathway_name' = c()) cell.types <- unique(Idents(epithelial.cells.re)) library(pryr)
#setClass("All_results", slots = list(C0_results = "data.frame"))
#all_results <- new("All_results", C0_results = tm) cell.types #for(i in :length(cell.types)){
# print((as.numeric(cell.types[i])))
#name = paste0("tm_",as.numeric(cell.types[i]))
#eval(parse( name ) )<- list('P-value' = c(), 'Pathway_name' = c())
#append(all_ans,list(name = c())) #} for(j in cell.types){
cc<-epi[which(epi[,]==j),]
index<-rownames(cc)
g1<-pro[ , which(colnames(pro) %in% index )]
pathway_name = rownames(g1)
g2<-pro[ , -which(colnames(pro) %in% index )]
tm <- list('P-value' = c(), 'Pathway_name' = c())
## t.test
for(i in :dim(g1)[]){
results<- t.test(g1[i,],g2[i,])$p.value
tm$`P-value`<-append(tm$`P-value`,results)
tm$Pathway_name<- append(tm$Pathway_name,pathway_name[i])
}
assign(paste("tm_",j,sep = ""),tm)
} print(results) data.frame()
p.val,pathway_name result[[celltype_i]] <- data.frame dftm<- data.frame(tm)
dftm <- dftm[sort(dftm$P.value,index.return=TRUE)$ix,] down <- sample(colnames(pro),round(nrow(pro)/))
a<-pro[,down]
heatmap(a) raw.data result <- list() cell.types <- unique(Idents(epithelial.cells.re)) for(celltype_i in cell.types){ ## t.test data.frame()
p.val,pathway_name result[[celltype_i]] <- data.frame }
主要部分“
for(j in cell.types){
cc<-epi[which(epi[,]==j),]
index<-rownames(cc)
g1<-pro[ , which(colnames(pro) %in% index )]
pathway_name = rownames(g1)
g2<-pro[ , -which(colnames(pro) %in% index )]
tm <- list('P-value' = c(), 'Pathway_name' = c())
## t.test
for(i in :dim(g1)[]){
results<- t.test(g1[i,],g2[i,])$p.value
tm$`P-value`<-append(tm$`P-value`,results)
tm$Pathway_name<- append(tm$Pathway_name,pathway_name[i])
}
assign(paste("tm_",j,sep = ""),tm)
}
print(results)
R 动态定义变量名 assign的更多相关文章
- Python使用动态的变量名
当我们在使用Python处理一些重复性很高的事情时,有时候需要很多的变量来存放一些暂行性的数据,由于这些变量的数量很大,所以这使我们就会想到能不能使用循环来像生成数据值一样生成变量名呢,当然是可以的 ...
- JS怎么动态命名变量名
[摘要]本文是对JS怎么动态命名变量名的讲解,对学习JavaScript编程技术有所帮助,与大家分享. 1.用eval,例子: 1 2 3 4 5 6 7 <script> var Thr ...
- php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符
php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符方式一:使用花括号,前缀部分不需要用单引号$nums10 = 100;$xxx*${bcount.$nums10}['m54']/$n ...
- python 动态生成变量名以及动态获取变量的变量名
前言需求: 必须现在需要动态创建16个list,每个list的名字不一样,但是是有规律可循,比如第一个list的名字叫: arriage_list_0=[],第二个叫arriage_list_1=[] ...
- 关于定义变量名为"name"的坑!!!
昨天下午没有什么工作可做,闲来无事就上博客园看看了,有个问题让我一直很纳闷. 直接上代码吧: 再用表达式创建函数时遇到的问题,这里的代码按照正常逻辑只有那个在变量定义后面的函数执行打印的值才是&quo ...
- 【python小随笔】动态创建变量名
PS:有时候我们不知道列表组数里存放几个值,但是又要动态的遍历这些值并且动态的创建每一个对应的一个变量里: t = ['B0716PK6R2','B077X9J24C','B01N2SBH4J'] c ...
- JS如何动态生成变量名[重点]
解决方案: function create_variable(num){ var name = "test_"+num; //生成函数名 ...
- Js如何动态声明变量名
做个笔记~ var a = 5; for (var i = 1; i <= a; i++) { eval("var a" + i + "=" + i); ...
- 学习go语言编程系列之定义变量
package main import ( "fmt" "math") func main() { // 1. 定义变量名age,不初始化,使用对应类型的默认值 ...
随机推荐
- Java课堂疑问解答与思考3
一. 两对整数明明完全一样,为何一个输出true,一个输出false? 答: 整数在小于127时都可以用常量池,因此第一次比较的的地址是取自同一个地址的数字,而第二次比较的数是创建了两个不同地址的对象 ...
- TCP/IP协议-1
转载资源,链接地址https://www.cnblogs.com/evablogs/p/6709707.html
- Java基础/时间日期格式
Java时间日期格式转换 一.Date转String和String转Date 参考博客:https://www.cnblogs.com/sharpest/p/7879377.html public s ...
- TestNG+extentReports+log4j2 完善自动化测试框架——美观的报告和保留日志文件
1:导入Maven依赖<dependency> <groupId>com.aventstack</groupId> <artifactId>extent ...
- for语句与if语句嵌套的简单应用
1.循环语句 for(初始条件:循环条件:状态改变) { 循环体 } break为跳出循环,continue为结束此次循环. 2.死循环常用while语句 while(判断语句) { if(判断) { ...
- vue.js学习记录
vue.js学习记录 文章已同步我的github笔记https://github.com/ymblog/blog,欢迎大家加star~~ vue实例 生命周期 beforeCreate:不能访问thi ...
- ubuntu系统更新命令
一.图形界面更新升级 1.点击”系统设置“,打开“软件和更新”,切到“更新”栏目进行更新设置. 2.可以通过软件更新器进行更新升级自己想要更新的 二.命令方式更新升级 1.先解锁 ps -e|grep ...
- struts2_对Map进行双层迭代
转自:struts2_对Map进行双层迭代 //后台数据 public String execute() throws Exception { Map<String, List<Produ ...
- mysql中的substring()截取字符函数
substring(参数1,参数2,参数3),其中三个参数分别表示:参数1表示需要截取的字符串,参数2表示从字符串的那个位置开始截取(字符串下标从1开始),参数3表示要截取多少位,如果不写,表示截取从 ...
- mysql复习(1)基本CRUD操作
一.这段时间在学校,把之前的东西都好好捡起来. 0.下面介绍Mysql的最基本的增删改查操作,很多IT工作者都必须掌握的命令,也是IT面试最常考的知识点.在进行增删改查之前,先建立一个包含数据表use ...