我已经写出了一个特定文件的代码,现在我想为其余的类似数据文件生成相同类型的图形和文件,我编写了如下命令,但是,它不起作用。 .. 当我插入这些代码时,R只为文件“8”生成了一个图,它表明了我的错误(见下文) 我编辑和检查了我的代码很多次但仍然无法弄清楚它有什么问题...你能帮帮我吗?
我非常感谢你的帮助!
my.files <- list.files()
for (i in 1: length(my.files)) {
temp.dat <- read.csv(my.files[i])
eight <- read.csv(file="8.csv", header=TRUE, sep=",")
eightout <- subset(eight, inout=="Outgoing from panel hh" & o_duration>0, select=c(inout, enc_callee, o_duration))
f <- function(eightoutf) nrow(eightoutf)
eightnocalls <- ddply(eightout,.(enc_callee),f)
colnames(eightnocalls)[2] <- "nocalls"
eightout$nocalls <- eightnocalls$nocalls [match(eightout$enc_callee, eightnocalls$enc_callee)]
eightout=data.frame(eightout,"time"=c(1:nrow(eightout)))
M <- plot(eightout$time,eightout$nocalls)
pdf(paste(Sys.Date(),"_",my.files[i],"_.pdf", sep=""))
plot(temp.dat$time, temp.dat$nocalls, main=my.files[i])
dev.off() }
这就是R所说的 plot.window(...)出错:需要有限的'xlim'值 另外:警告信息: 1:在min(x)中:min没有非缺失参数;返回Inf 2:在max(x)中:max没有非缺失参数;返回-Inf 3:在min(x)中:min没有非缺失参数;返回Inf 4:在max(x)中:max没有非缺失参数;返回-Inf
答案 0 :(得分:2)
尝试在dev.off()
命令后插入plot
...? (如果你想要一堆单独的文件。如果你想要一个大的图表文件,那么在开始循环之前打开你的PDF文件并在循环结束后关闭它。)
使用上面清理的代码版本再次尝试。
my.files <- list.files("/E/Data")
for (i in seq_along(my.files)) {
temp.dat <- read.csv(my.files[i])
seven <- subset(alldata, aserno==7, select=c(I,C,D),
I=="o" & D>0)
sevennumber <- ddply(sevenout,.(C), nrow)
colnames(sevennumber)[2] <- "number"
sevenout$number <- sevennumber$number[match(sevenout$C,sevennumber$C)]
sevenout$time <- seq(nrow(sevenout))
pdf(paste(Sys.Date(), my.files[i], "M.pdf", sep="_"))
with(sevenout,plot(time, number, main=my.files[i])
dev.off() ## CLOSE pdf
write.csv(sevenout,paste(Sys.Date(),
my.files[i],"new_data.pdf”,sep="_"), row.names=FALSE)
}
剩下的奇怪/问题:
tmp.datout
被引用但未定义。它应该是sevenout
吗?type="n"
制作的,这会导致一个空的情节框架。 ??? i <- 1
并手动执行循环中的代码,看看会发生什么......