繁体   English   中英

如果字符变量有值,则对于write.table使用R if else

[英]R if else for write.table if character variable has value

比方说,我有一个数据框,我需要用不同的后缀保存,给出后缀变量的值或不给出。

后缀值在keyvalue变量中定义,该变量的类型为character。

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

我需要使用带有条件的if loopoutput文件写入outdir目录:if 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. 您正在使用下面的sample_id ,但只定义了sample
  2. 你的outdir= "/user/path/results"字符缺少一个/

所以代码是:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM