想挑出一个range内,存在的位点,编程如下,但是不知道为什么有的结果正确有的结果错的。求指出!!
cgi <- read.csv("HumanMethylation450_15017482_v1-2.csv",sep=",", header = F, stringsAsFactors = F)
gene<- read.csv("sample_Q.csv", sep=",", header = F, stringsAsFactors = F)
name <- c(paste0("V",c(1:37)))
info <- data.frame(sapply(name, function(x) x = character(0)), stringsAsFactors = F)
as.numeric(cgi_tmp$V13)
for(i in c(1:22,"X","Y")){
gene_tmp <- gene[gene$V2 == paste0(i),]
cgi_tmp <- cgi[cgi$V12 == paste0(i),]
fun <- function(x){
logic1 <- x <= as.numeric(gene_tmp$V4)
logic2 <- x >= as.numeric(gene_tmp$V3)
idx1 <- which(logic1)
idx2 <- which(logic2)
c1 <- intersect(idx1, idx2)
if(length(c1) != 0){
info[(nrow(info)+1):(nrow(info)+length(c1)),] <<- c(cgi_tmp[cgi_tmp$V13 == x,1:33], gene_tmp[c1, 1:4])
return(info)
}
}
mapply(fun,cgi_tmp$V13,SIMPLIFY = T)
}