Как правильно запрашивать ввод данных пользователем в программе R?

Моя программа ниже (состоящая из двух частей) работает, если я запускаю их отдельно, то есть если я вставляю первую часть в R Console, запускаю ее, а затем вставляю вторую и запустите его. Однако я не этого хочу. Я хочу запустить всю программу сразу. Если я это сделаю, в моей консоли появится следующая ошибка:

1: 
Read 0 items
1: 
Read 0 items
Error in while ((n <= 0) | (acr <= 0) | (acr >= 1)) { : 
  argument is of length zero

Я попытался определить проблему, но не смог найти первопричину. Я был бы более чем рад, если бы кто-нибудь мог прийти мне на помощь.

#**FIRST PART OF THE PROGRAM**

n <- -2
acr <- -2
while((n<=0) | (acr<=0) | (acr>=1)) {
   print("enter a  positive integer and the average cancellation rate between 0 and 1  
                you want")
   try(n <- scan(what=integer(), nmax=1), silent=TRUE)
   try(acr <- scan(what=double(), nmax=1), silent=TRUE)
}


#**SECOND PART OF THE PROGRAM**

bygrace <- read.table("C:\\MyRfolder\\bygrace.txt", header=FALSE)
r <- nrow(bygrace)
c <- ncol(bygrace)
copybygrace <- array(bygrace, dim=c(r, c))
copybygrace <- bygrace[-((n+1):r), ]
write.table(copybygrace,file="C:\\MyRfolder\\copybygrace.txt", sep="\t")
copybygrace <- read.table("C:\\MyRfolder\\copybygrace.txt", header=TRUE)
31
задан Jørgen R 12 February 2015 в 14:05
поделиться