R如果为write.table则为否则,如果字符变量具有值

时间:2019-05-23 13:40:59

标签: r dataframe if-statement

说,我有一个数据框,需要给它加上不同的后缀,无论是否给定后缀变量的值。

后缀值在keyvalue变量中定义,该变量是字符类型。

keyvalue ="_TRP-1"
outdir= "/user/path/results/"
sample= "ADAS"

我需要使用output将我的outdir文件写入if loop目录,条件是:keyvalue不等于naelse

这是我尝试过的,

if (!is.na(keyvalue)){
    write.table(output, paste(outdir, sample, keyvalue,"_scores.tsv", sep=""), sep="\t", row.names=F, quote=F)

}else{
  write.table(output, paste(outdir, sample,"_scores.tsv", sep=""), sep="\t", row.names=F, quote=F)

}

最后,我想给一个名为ADAS_TRP-1_scores.tsv的数据表/文件指定一个keyvalue,否则给一个名为ADAS_scores.tsv的文件。但是,以上行没有生成任何表以及错误消息,请多加建议。 谢谢

1 个答案:

答案 0 :(得分:0)

如果您可以提供错误消息,那将非常有帮助。 但乍看之下,这有两个问题:

  1. 您在下面使用sample_id,但仅定义了sample
  2. 您的outdir= "/user/path/results"字符结尾缺少/

因此代码将是:

write.table(
  output,
  paste( sample, keyvalue,"_scores.tsv", sep=""), sep="\t",
  row.names=F, quote=F
)