R错误:“ mutate”输入“ type”存在问题 x`f`必须是一个因子或字符向量

问题描述

我在R中遇到了这些错误,我不知道如何解决

错误mutate()输入type出现问题。 x f必须是一个因子(或字符向量)。 i输入typefct_relevel(type,c("hit","bad-hit [evalue > 0.01]","non-hit"))

我很确定代码之前可以使用其他数据集,但是现在它会产生这些错误...

#脚本到达我所在的位置(您可能需要安装生物弦)

BiocManager::install("Biostrings")
library(tidyverse) 
library(data.table)

  a <- 
                  "qseqid      sseqid  pident       length mismatch gapopen qstart qend  sstart    send   ppos evalue bitscore
                  KQJ81400 NC_012870.2 100.000        10        0       0     1354 1383  49691442  49691471 100.00   0.33   25.3
                  KQJ81513 NC_012871.2 100.000        11        0       0     1288 1256  77518889  77518857 100.00   0.00   30.4"
    
    blasts <- read.table(text=a,header = TRUE)
     


BrachCDS <- Biostrings::readDNAStringSet('ftp://ftp.ensemblgenomes.org/pub/plants/release-47/fasta/brachypodium_distachyon/cds/Brachypodium_distachyon.Brachypodium_distachyon_v3.0.cds.all.fa.gz') %>% as.data.frame() %>% rownames_to_column(var='gene') %>% 
rename(seq=x) %>% as_tibble()
    
 c <-

    ">KQJ81400 cds chromosome:Brachypodium_distachyon_v3.0:5:440113:447844:-1 gene:BRADI_5g00478v3 gene_biotype:protein_coding 
    >KQJ81513 cds chromosome:Brachypodium_distachyon_v3.0:5:1105857:1107846:-1 gene:BRADI_5g01198v3 description:hypothetical protein"
    
    B1000 <-fread(c,header = F,fill= T,select =c(1,2))



blasts <- blasts %>% arrange(qseqid,-pident,evalue,-bitscore) %>%
distinct (qseqid,.keep_all = T) %>%
mutate(evalue=round(evalue,digits = 2)) %>%
rename(subject_length=length) 

(我实际上有我自己的CDS文件,该文件为多行Fasta格式,仅带有qseqid,所以我认为这不是问题所在)

然后这是脚本的一部分,我得到一个错误

B1000_SEQ <- BrachCDS %>% filter(gene %in% B1000$V1) %>%
mutate(length=nchar(seq)) %>%
left_join(blasts,by=c('gene'='qseqid')) %>%
           mutate(type=ifelse(is.na(evalue),'non-hit',ifelse(evalue <= 0.01,'hit','bad-hit [evalue > 0.01]')),type=fct_relevel(type,c('hit','bad-hit [evalue > 0.01]','non-hit')))

“ f”是什么意思? “ f”甚至在哪里,为什么它不是一个因素?那“类型”又是怎么回事? 任何对正在发生的事情或如何解决它的帮助将不胜感激!

编辑:解决了,看评论...我的坏

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...