创建一个for循环,为每次迭代写入CSV文件

时间:2019-08-07 16:53:32

标签: r

我试图遍历一个向量,该向量为每次迭代运行一个函数,并将该函数的输出写入.csv文件。

gene_ID_temp中的每个条目都是输入到transcript_proportions中的字符。对于每个条目,我试图运行transcript_proportions并将输出写入具有不同编号的.csv文件。

gene_ID=data.frame(RNA_transcript_RPKM[,773])
  gene_ID_unique <- unique(gene_ID)
  gene_ID_temp=data.frame(gene_ID_unique[1:3,])
  a=1
  for (i in gene_ID_temp)
{
  transcript_proportions(RNA_transcript_RPKM_MUSCLE,i)
  write.csv(Regression_Values,paste0(a,".csv"))

  a=a+1
} 

当前,似乎只在写一个文件“ 1.csv”,该文件是来自迭代的输出的组合,并且没有为每个迭代写一个单独的文件。另外,我不确定“ a”变量是否确实在更改。

我该如何解决问题?

2 个答案:

答案 0 :(得分:2)

我认为您可能遇到的一个问题是,您尚未指定for循环遍历的数字范围。尝试类似

for i in 1:length(gene_ID_temp)

那没有看到您的代码输出或自己运行它,我不确定是否能解决您的问题,但这可能会为您带来一些帮助!

答案 1 :(得分:0)

这可能是您的gene_ID_temp对象的两个问题

  1. 由于它是一个数据帧,因此您需要指定i的长度,最好使用nrow(),但也要尝试length()!
  2. 任何字符串都将转换为因数而不是字符,这可能会导致问题。

我会检查出用于处理此类任务的purrr软件包,或者如果您需要坚持使用基数R,请熟悉apply函数:-)

相关问题