我是R中的新手,我正试图用函数readLines来建立一个公式,但是所有的时间R都会返回相同的错误,并且不知道如何修复它。有什么建议吗?
我的公式
sam.cover<-function(){
readLines()->CH
gsub("00","0,0",CH)->CH
gsub("01","0,1",CH)->CH
gsub("10","1,0",CH)->CH
gsub("11","1,1",CH)->CH
gsub(" 1;","",CH)->CH
gsub("00","0,0",CH)->CH
gsub("01","0,1",CH)->CH
gsub("01","1,0",CH)->CH
gsub("11","1,1",CH)->CH
write.table(CH,"temporaryfile.txt",quo=F,sep="",row=F,col=F)
as.matrix(read.table("temporaryfile.txt",sep=","))->CH
matrix(CH,nr=dim(CH)[ 1])->CH
apply(CH,1,sum)->SUM
CF<-999
t<-dim(CH)[ 2]
for(i in 1:t){
CF<-c(CF,sum(SUM==i))
}
cat("Capture frequencies : ","\n")
print(rbind(1:i,CF[ -1])->CF)
f1<-CF[ 2,1]
f2<-CF[ 2,2]
f3<-CF[ 2,3]
cat("Sample coverage estimates : ","\n")
cat("C1-hat =",1-f1/sum(apply(CF,2,prod)),"\n")
cat("C2-hat =",1-(f1-2*f2/(t-1))/sum(apply(CF,2,prod)),"\n")
cat("C3-hat =",1-(f1-2*f2/(t-1)+6*f3/(t-1)/(t-2))/sum(apply(CF,2,prod)),"\n")
}我的数据
ide c1 c2 c3 c4 c5
N19 1 1 1 0 1
N29 0 0 1 1 0
N39 0 0 1 0 1
N49 0 0 0 1 1
N59 0 0 1 0 0我的错误:
Error in readLines(histoire.inp) : 'con' is not a connection发布于 2013-10-26 01:34:36
readLines参数在一个connection上运行,所以如果您想逐行读取一个文件,那么您需要做的不仅仅是给它路径。
首先,您需要打开文件的connection:
conn <- file("histoire.inp", "rt") # second argument indicates we're reading a text file.然后,如果您想逐行读取文件,我发现下面的代码块很有用(Original idea here):
while (length(oneLine <- readLines(conn, n = 1, warn = FALSE)) > 0) {
# Do something to your line of text, stored in `oneLine`
}
close(conn)如果您想要以块方式读取文件,可以将n更改为更大的文件。
https://stackoverflow.com/questions/19292221
复制相似问题