저는 R에 2개의 변수가 있는 코드를 작성했습니다: Rep & x 이 코드는 입력 데이터를 기반으로 X 및 Rep 변수의 값을 변경하기 위해 스크립트 내부로 들어가야 하는 방식으로 작성되었습니다. 스크립트를 작성하지 않고 이를 자동화하는 방법이 궁금합니다.
rm(list=ls())
ls()
data<-read.table(file="data.txt", header=T)
colnames(data)
rep<-1000
x <- 88
diff_debv<-matrix(,nr=rep,nc=1)
for (i in 1:rep) {
N<-nrow(data)
m1<-runif(1)
m2<-runif(1)
sd1<-runif(1)
sd2<-runif(1)
x1<-rnorm(N,m1,sd1)
x2<-rnorm(N,m2,sd2)
data0<-cbind(data,x1,x2)
data1<-data0[with(data0,order(-x1)),]
top40_x1 <-data1[1:x,]
dEBV2019_1 <- mean(top40_x1$run.15564)
data2<-data0[with(data0,order(-x2)),]
top40_x2<-data2[1:x,]
dEBV2019_2 <- mean(top40_x2$run.15564)
diff_debv[i,1]<-(dEBV2019_1-dEBV2019_2)
}
sd.diff_debv <- sd(diff_debv)
sd.diff_debv
data3<-data0[with(data0,order(-GEBV2017)),]
data4<-data0[with(data0,order(-EBV2017)),]
top40_GEBV2017<- data3[1:x,]
top40_EBV2017<-data4[1:x,]
mean_top40_GEBV2017 <- mean(top40_GEBV2017$GEBV2017)
mean_top40_EBV2017 <- mean(top40_EBV2017$EBV2017)
diff_rank<-(mean_top40_GEBV2017-mean_top40_EBV2017)
type1_debv <- 1-(pnorm(diff_rank, 0, sd.diff_debv))
diff_rank
sd.diff_debv
type1_debv
나는 스크립트 내부로 들어가서 매번 x와 rep의 값을 변경하고 싶지 않습니다. Linux에서 스크립트를 실행할 때 2개의 질문이 나타나고 이 질문에 대답한 후 그에 따라 스크립트가 실행됩니다. 예를 들어:
R < script.r > result
what is the value for rep?
1000
what is the value for x?
88
R에 그런 기능이 있나요? 도움이나 안내를 주시면 대단히 감사하겠습니다.