簡體   English   中英

通過循環繪制R圖並將其保存為jpeg

[英]Plot graphs in R by loop and save it like jpeg

我試圖通過循環繪制圖形。

輸入數據:表格具有相同的結尾* depth.txt,表格中有2個制表符分隔的列:

Baba"\t"58.38

Tata"\t"68.38

Mama"\t"30.80

jaja"\t"88.65

OUTPUT:我想為所有文件獲取一個帶有plot()的jpeg文件,每個* depth.txt(它們的名稱將與表的名稱相同)(x軸將是表格和軸y的第一列)將是第二欄)

我創建了腳本的一部分,但它不起作用:

files <- list.files(path="/home/fil/Desktop/", pattern="*depth.txt", full.names=T,recursive=FALSE)

for (i in 1:length(files))
plot(read.table(files[i],header=F,sep="\t")$V1,read.table(files[i],header=F,sep="\t")$V2)
dev.copy(jpeg,filename=files[i])
dev.off

它不起作用,你能幫幫我嗎? 我是R的初學者

以下是否符合您的要求?

for (i in 1:length(files)) {
  dat <- read.table(files[i], header = FALSE, sep = '\t')
  jpeg(file = paste(files[i], '.jpeg', sep = ''))
  plot(dat$V1, dat$V2)
  dev.off()
}

與前兩個類似,但更改了圖的文件名

files <- paste("fil",1:3,"depth.txt",sep="")      #  example file names
for( i in 1:length(files))  {
     filename <-  sub(".txt",".jpg",files[i])
     jpeg(file=filename)
     plot(1:(10*i))                             # example plots
     dev.off()
}

重命名文件?

for (i in 1:length(files)) {
    file = files[i]
    file = paste("jpg",file,sep="_")
    jpeg(file)
    plot(read.table(files[i],header=F,sep="\t")$V1,read.table(files[i],header=F,sep="\t")$V2)
   dev.off()
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM