首页 > 其他分享 >【R】Rscript中使用变量控制输入输出的文件名

【R】Rscript中使用变量控制输入输出的文件名

时间:2023-12-01 14:45:15浏览次数:40  
标签:Rscript 控制 变量 文件名 输入输出 library

在R输入输出控制中不可避免地将变量引入输出文件名中,这种输出的文件名在Rscript中应该如何加入变量?

library(ggplot2)
library(dplyr)
library(tidyr)

for (i in 10:21){
    file <- paste("result_", i, sep="") 
    out_file <- paste(file, ".out", sep="")
    out_file2 <- paste(file, ".plot", sep="")
    plot_file <- paste(file, ".pdf", sep="")
    df <- read.table(file, header=FALSE)
    df_spread <- tidyr::spread(df, V3, V1)
    #write.table(df_spread, file=out_file,row.names = FALSE, quote =FALSE, sep="\t")
    df_change <- df %>% 
        group_by(V3) %>%
        mutate(V6 = log2(V1 / V5))
    Title <- df[1,4]
    write.table(df_change, file=out_file2,row.names = FALSE, quote =FALSE, sep="\t")
    plot <- ggplot(df_change, aes(x=V3,y=V6,fill=V2)) + geom_col(position= "dodge") + theme_classic() + theme(axis.text.x = element_text(size = 7),axis.text.y = element_text(size = 7), strip.text = element_text(size=10, color = "black"),axis.title.y = element_text(size=11, color = "black"),  strip.text.y=element_text(size=9, color = "black"),  panel.spacing = unit(0.1, "lines"), panel.grid = element_blank(),legend.text = element_text(size = 8),legend.background = element_blank())+ xlab(Title) + ylab("log2(fold change)") +scale_fill_brewer(palette = "Set3")
    ggsave(file=plot_file,plot,width = 8,height = 4, units = "in")
}

  这里循环变量i可以使用.paste()函数将变量与前缀后缀组合在一起,形成新的文件名。此处要注意参数“sep=”要加,如果没有间隔就是""。

标签:Rscript,控制,变量,文件名,输入输出,library
From: https://www.cnblogs.com/muuyouzhi/p/17869675.html

相关文章

  • airScript学习记录2
    ###元组就是不能修改的列表,用()##a=(2,3,432,'adfa')##print(a[3])###修改元组,,把元组转化为列表,用内置函数list()##s=list(a)##s[3]='baba'##print(s[3])##字典可以存储任意数据类型##字典是以键值对的形式存在,键一般是不重复的,如果重复,最后一个值会替代前......
  • 列表操作符与函数 airScript 1
    #组合操作符并不改变原来的列表的值a=[1,1,1,2]b=[2,2,2,3]c=a+b#print(c)#重复运算符*#print(b*3)##成员资格操作符in#print(2inb)#函数a=[1,2,3,1,1,1]#a.append("haha")#print(a)#b=[3,4,5]a=[1,2,3,1,1,1]#a.extend(b)#改变了a的值,#print......
  • Python批量修改文件名
    '''pythonimportos,sys#导入模块fromitertoolsimportgroupbyfromos.pathimportsplitextifname=='main':path=r'C:\C1Files'#运行程序前,记得修改主文件夹路径!old_names=os.listdir(path)#取路径下的文件名,生成列表,这个获取的时候可能会出现未获取全......
  • 小惊喜继续-vscode插件小更新:基于文件名中的 PostId 关联博文
    在惊喜小现:园子的vscode插件的预热博文发布后,今天发布插件的一个小更新——基于文件名中包含的PostId关联博文。将本地文件与服务端博文进行关联是通过插件在vscode中管理博文的基础,当您在插件的“随便列表”中点击一篇博文,会自动在工作空间的目录中创建以博文标题命名的文......
  • 用户交互 输入输出方法
    用户交互输入输出方法1.输入(input)输入,可以实现程序和用户之前的交互用户输入一些内容,用户按下回车键后,input函数会返回用户输入的内容将用户输入的内容赋值给name变量name=input("请输入你的用户名")#chenxuname="chenxu"*特别注意*用户输入的内容本质上......
  • 发掘Linux中输入输出重定向的妙用
        在Linux系统中,输入输出重定向是一项强大的功能,为用户提供了更灵活的命令行操作和文件处理方式。本文将深入研究Linux中输入输出重定向的功能,探讨其基本概念、常见用法以及如何在命令行环境中充分发挥其优势。1.输入输出重定向基础首先,让我们回顾一下输入输出重定向......
  • apache的文件名工具类FilenameUtils
    org.apache.commons.io.FilenameUtils。FileUtils和FilenameUtils分别是Apache对文件名和文件的封装,两者可以配合使用。<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></depe......
  • 文件输入输出流2.0
    java语言定义了许多类专门负责各种方式的输入输出,这些类都被放在Java.io包中其中所有输入流都是抽象类InputStream或抽象类Reader的子类,而所有输出流都是抽象类OutputStream或抽象类Writer的子类InputStream/OutputStream类是字节输入流/字节输出流的抽象类,是所有字节输入/输出流......
  • 文件输入输出流3.0
    FileInputStream与FileOutputStream类FileInputStream类与FileOutptStream类都用来操作磁盘文件,如果用户读取的文件需求比较简单就可以使用FileInputStream类,该类继承子InputStream类FileInputStream(Stringname)FileInputStream(Filefile)第一个构造方法使用给定的文件名name创......
  • python 读取文件名中带有循环变量
    标题:Python中使用循环变量读取文件名的方法**摘要:**在Python编程中,我们经常需要读取并处理多个文件。而文件名中的循环变量可以帮助我们更加灵活地处理这种情况。本文将介绍如何使用Python中的循环变量来读取文件名,并给出相关的代码示例和详细说明。1.引言在实际的数据处理中,我......