如何修改R语言函数以制表符分隔写入向量元素到文件?
R语言函数修改:将向量元素以制表符分隔写入文件
问题描述
我需要为所用工具准备一份特定格式的文件,已编写R语言函数prep_file生成该文件。其中expression参数为向量,需将该向量的每个元素以制表符(\t)分隔写入文件,请问如何替换函数中的cat(expression)语句?
目标文件格式示例
Mutant Mutant:A Expression Gene_A:0.5 Gene_B:1 Gene_C:3 Weight: 5
现有函数代码
prep_file <- function(mutant, expression, weight, file_name){ sink(paste0(file_name)) cat("Mutant ") cat(mutant," ") cat("Expression ") cat(expression) cat(" ") cat("Weight:",weight) sink() }
调用示例
expres_vec <- c("Gene_A:0.5","Gene_B:1","Gene_C:3") prep_file("Mutant:A",expres_vec,"5","test")
解决方案
只需将原函数中的cat(expression)语句替换为使用paste()拼接向量元素的代码,指定collapse = "\t"来用制表符分隔每个元素:
cat(paste(expression, collapse = "\t"))
修改后的完整函数
prep_file <- function(mutant, expression, weight, file_name){ sink(paste0(file_name)) cat("Mutant ") cat(mutant," ") cat("Expression ") cat(paste(expression, collapse = "\t")) cat(" ") cat("Weight:",weight) sink() }
调用修改后的函数后,生成的文件中Expression行的内容会变为Gene_A:0.5 Gene_B:1 Gene_C:3,满足制表符分隔的要求。
内容的提问来源于stack exchange,提问作者Rina
相关产品推荐
相关产品推荐

