如果我单独运行它,下面的程序(由两部分组成)也可以运行 - 也就是说,如果我将第一部分粘贴到R控制台中,运行它然后粘贴第二部分并运行它。但是,这不是我想要的。我想立刻运行整个程序。如果我这样做,它会给我错误。
这是因为我在代码的第二部分的第一部分使用并输入n
。也就是说,我使用n
获取名为n
的数据框的第一行bygrace
并将其放入copybygrace
。
我的想法是,创建了数据框bygrace
后,我希望我的程序用户能够获取他想要的任意数量的行n
。
我试图找出问题,但我找不到根本原因。如果有人能帮助我,我会非常高兴。
#**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)