R语言的逻辑符号运用的特殊格式要求?

 1、RNA-Seq跟着讲解分析,但发现最后筛选padj及logFC时代码频繁出错,下为最后正确代码

anno <- read.csv("annotables_grch38(1).csv")          #导入文件

res_anno=inner_join(res1,anno,by=c("row"="ensgene"))  #内连接取交集并合并差异分析及注释表

res_anno = filter(res_anno,res_anno$baseMean!="0")    #去空,筛选第二列不为0的行   
  
res_anno=distinct(res_anno,symbol,.keep_all = TRUE)   #去重

res_anno=column_to_rownames(res_anno,var = "symbol")  #基因名改为行名

res_anno %>%                             
  filter((padj< 0.05 ) &
  (log2FoldChange > 1.5 | 
  log2FoldChange < -1.5)) %>%              #筛选padj小于0.05的行,log2FC 小于-1.5或大于1.5的行               
  fwrite("sigresult.csv",row.names=T)                 

2、第一遍错误

###其他部分相同
res_anno %>%                              
  filter((padj< 0.05 )&
(log2FoldChange >1.5|log2FoldChange<-1.5)) %>%     #此段未给或负号与字符间留空,报错
  fwrite("sigresult.csv",row.names=T)

##报错
Error in `filter()`:
! Problem
  while computing
  `..1 = (padj <
  0.05) & ...`.
Caused by error in `log2FoldChange > 1.5 |
    log2FoldChange <- 1.5`:
! could not find function "|<-"

 3、根据上述报错搜索谷歌改错

###其他部分相同
res_anno %>%                              
  filter((padj< "0.05" )&
(log2FoldChange >"1.5"|log2FoldChange<"-1.5")) %>%     
  fwrite("sigresult.csv",row.names=T)

###没有报错,但是FC列并非(-∞,-1.5)|(1.5,+∞),而是(-1.5,0)|(1.5,+∞)

4、反复修改后发现逻辑符号与字符间留给适当空格间隔就得出了正确筛选结果,具体原因不详

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

医道无名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值