l=0
for (j in (1:5)){
test(j)
}
test<-function(x){
x
l=l+0.25
print(l)
}
I am expecting.
[1] 0.25
[1] 0.50
[1] 0.75
[1] 1.00
[1] 1.25
But, all I got is.
[1] 0.25
[1] 0.25
[1] 0.25
[1] 0.25
[1] 0.25
这是我的代码的简化版本。 我试图让每次运行函数时都不断增加。 有人可以给我一些建议吗? 谢谢!
答案 0 :(得分:1)
不确定你的最终目标是什么,但也许这会有所帮助。
*
***
*****
*******
* *
*** ***
***** *****
******* *******
答案 1 :(得分:0)
boxplot(U_percent_all, names=U_name, main=sprintf(("I_Common chr%s vs Tissue \n (unstable)"),i),
ylab="GC content", ylim=c(0,1), na.action = TRUE)
abline(h=chr_gc[i,2], col="red")l=0
for (z in (1:5)){
seg.fun.U(z)
}
seg.fun.U <- function(x){
for ( j in x:ncol(U_percent_all)){
if ((is.na(U_percent_all[,j])==TRUE) || (is.na(U_percent_all[,x])==TRUE)){
next
}
else if (as.numeric(summary(is.na(U_percent_all[,j]))["FALSE"]<=2)){
next
}
else if (as.numeric(summary(is.na(U_percent_all[,x]))["FALSE"]<=2)){
next
}
n<-NULL
n<-t.test(U_percent_all[,x],U_percent_all[,j])$p.value
print(n)
if ((n <= 0.05)==TRUE){
if ((n <=0.01)==TRUE){
if ((n <=0.001)==TRUE){
segments(x0=1, x1=j, y0=0.8+l,y1=0.8+l, col=1)
text(x=j,y=0.82+l,"***")
l=l+0.3
}
else{
segments(x0=1, x1=j, y0=0.8+l,y1=0.8+l, col=1)
text(x=j,y=0.82+l,"**")
l=l+0.3
}
}
else{
segments(x0=1, x1=j, y0=0.8+l,y1=0.8+l, col=1)
text(x=j,y=0.82+l,"*")
l=l+0.3
}
}
}
}
基本上,我试图绘制一个图形并在每对上面添加重要的线条。 在U_percent_all数据框中,有五列。并且,我想比较每两对的重要线。 为了避免较长的线覆盖较短的线,每条线需要在一个高度上绘制。这就是我尝试这种方式的原因。