rm(list = ls())
setwd("D:/※raw.data/XCL.2022.2.8")
读入文件
library(data.table)
data<-fread("all.txt",data.table = FALSE,header=T)
将4组提出
a<-c(1,4,7,10)
b<-c("HFDVAT.CDVAT","HFD_S.CD_S","HFDKPC.CDKPC","HFDKPC.CDKPC.S")
将循环变量放入数据框中
df <- data.frame(a,b)
自己编写函数unique.a,#unique基因名称
unique.a <- function(x){
x<-x[!duplicated(x[,1]), ]
}
自己编写函数p.a,取出p<0.05
p.a <- function(x){
x<-x[x[,3]<0.05,]
}
自己编写函数big.a,取出值大于1的
big.a <- function(x){
x<-x[x[,2]>1,]
}
自己编写函数gene.a,取出gene名
gene.a <- function(x){
x<-x[,1]
}
library(dplyr)
assign就把字符串变成了变量,付给它所要的值
for (i in 1:4) {
assign(df[i,2],#第2列为名称
data[,c(df[i,1],df[i,1]+1,df[i,1]+2)] #每三列一组取出,赋变量名
%>% unique.a() #unique基因名称
%>% na.omit() #去除na
%>% p.a() #筛p
%>% big.a()
%>% gene.a()
)
}
交集
ns<-intersect(HFD_S.CD_S,intersect(HFDVAT.CDVAT,HFDKPC.CDKPC))
ns
s<-intersect(HFD_S.CD_S,intersect(HFDVAT.CDVAT,HFDKPC.CDKPC.S))
s
并集
gene<-union(HFDKPC.CDKPC, HFDKPC.CDKPC.S)
write.table(gene,"KPC.union.1.results.txt",
quote = FALSE,#去掉引号
row.names = F)
输出结果
write.table(s,"S.results.txt",
quote = FALSE,#去掉引号
row.names = F
)
网友评论