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,不初始化,使用对应类型的默认值 ...
随机推荐
- sentos7网卡改名
一.已经装好系统CentOS7修改网卡为eth0 1. 修改网卡配置文件[root@localhost ~]# mv /etc/sysconfig/network-scripts/ifcfg-ens3 ...
- 63 (OC)* NSAutoreleasePool 自动释放池
目录 0:ARC 1: 自动释放池 2:NSAutoreleasePool实现原理 3:autorelease 方法 4: Runloop和Autorelease的关系 5: Using Autore ...
- switch条件变量的取值类型
switch条件变量的取值类型主要有以下六种: 1)JDK1.5(不含JDK1.5)之前只能是byte.short.int.char类型,不能是float.double.long.boolean类型. ...
- 【Linux命令】解压相关命令
xxx.tar.gz : tar xvzf xxx.tar.gz xxx.tar.bz2 : tar -vxjf xxx.tar.bz2
- Unique Word Abbreviation
An abbreviation of a word follows the form <first letter><number><last letter>. Be ...
- 一分钟安装mysql
学数据库的人都知道,MySQL数据库是比较基本的掌握要求,不仅开源而且社区版本是免费使用的.由于工作上或者经常更换系统的原因,有时候会需要安装MySQL数据库.为了不至于每次安装都要查阅资料,现把安装 ...
- 关于连接池和DBUtils
1.关于数据库连接池 连接池就是创建和管理一个连接缓冲池的技术,这些连接好被任意线程所使用,数据库连接池负责分配和管理.释放数据库连接,总而言之数据库连接池就是提高对数据库的操作性能. 数据库连接池: ...
- 增强 Jupyter Notebook的功能
增强 Jupyter Notebook的功能 Jupyter Notebook 是所有开发者共享工作的神器,它为共享 Notebooks 提供了一种便捷方式:结合文本.代码和图更快捷地将信息传达给受众 ...
- 通过编写串口助手工具学习MFC过程--(十一)弹出模态型对话框
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- 工作笔记之:如何在eclipse安装CVS插件?找了很久的,自己总结一下
(1)在主目录里“help”→Install New Software.....→The Eclipse Project Updates - http://download.eclipse.org/e ...