美文网首页
如何删掉R列表里面的空元素

如何删掉R列表里面的空元素

作者: 生信交流平台 | 来源:发表于2021-04-10 08:59 被阅读0次

前面我们讲过

☞R批量预测miRNA和靶基因之间的调控关系-ENCORI篇

R批量预测miRNA和靶基因之间的调控关系-TargetScan篇

miRNA数据库简介及miRNA靶基因批量预测

思路就是将所有miRNA的靶基因做成一个以miRNA名字来命名的列表,批量预测你自己候选miRNA的靶基因,就只需要取这个列表的子集就可以了。

可能有些小伙伴用这个方法去预测的时候,会遇到一个warning,原因就是你的候选miRNA不在我们的列表里面。你去取子集的时候,得到的结果列表里面会有空元素。对于包含空元素的列表去做stack(R中的stack和unstack函数)的时候,就会出现下面这个warning。这个警告并不会影响我们最后的结果,但是有些小伙伴可能有强迫症,不想看到任何警告

那么今天我们就来给大家介绍两种去除列表里面空元素的方法

我们先来生成一个列表,这个列表有三个元素,名字分别为a,b和d。

data=list(a=1:5,b=letters[1:6],d=2:4)

接下来我们来模拟取子集的过程,假设我们要取的子集的名字为"a","b","e",很显然,这里的e不在我们的列表里面。所以返回的结果里面会有一个空元素。如果你拿这个包含空元素的列表去stack就会出现上面的error

id=c("a","b","e")
result=data[id]
stack(result)

虽然有一个warning,但你你会发现结果是没有问题的。

接下来我们来看看,如何消除这个warning

方法一、判断列表的name是否为NA

#此时不存在的id,name为NA,取name不是NA的元素
result=result[!is.na(names(result))]
result

再去stack就没有任何问题了

方法二、判断列表元素的内容是否为NULL

data=list(a=1:5,b=letters[1:6],d=2:4)
id=c("a","b","e")
result=data[id]
#先把id赋给list的name,再通过判断内容是否为null来过滤
names(result)=id
result=result[!sapply(result,is.null)]
result

跟上一种方法得到的结果是一样的,再去stack也没有任何警告了。

参考资料:

1.R批量预测miRNA和靶基因之间的调控关系-ENCORI篇

2.R批量预测miRNA和靶基因之间的调控关系-TargetScan篇

3.miRNA数据库简介及miRNA靶基因批量预测

4.R中的stack和unstack函数

相关文章

  • 如何删掉R列表里面的空元素

    前面我们讲过 ☞R批量预测miRNA和靶基因之间的调控关系-ENCORI篇[https://link.zhihu....

  • python list

    列表特性 元素类型不必相同 空列表 列表示例 纯数字 纯字符串 混合类型 列表嵌套 访问元素 删除元素 列表长度 ...

  • 08 python 使用列表的一部分

    使用列表的一部分 切片 在前面的章节中我们学习了如何访问单个列表元素,这这章中我们学习如何处理列表的部分元素,py...

  • Python列表用法

    列表基础 创建列表 创建一个空列表 创建一个含有元素的列表 创建一个多类型元素列表 创建嵌套列表 访问元素列表访问...

  • Python Day12 列表01

    1、如何建立列表 2、如何得知列表内有多少个元素 3、增加1个元素至列表内 append() 函数只能将元素增加至...

  • R语言初级教程(18): 列表

    在这篇博客,你将学习如何在R中使用列表(list)。之前我们提过,列表可包含不同类型的元素,比如数字、字符串、向量...

  • Python---基本知识12之常用数据类型列表

    什么是列表? 列表就是可变的有序的元素集合,列表里面的每一个元素都有他的下标,其实python里面的列表就有些像j...

  • 需要注意的小知识点

    1.即if 列表:表示列表是否为空(Python将在列表至少包含一个元素时返回true,并在列表为空时返回fals...

  • 2018-07-21-python-列表

    列表: [ ]空列表 [1,2,3] list() list(可迭代对象) list(‘abcd’) list(r...

  • Python基础(6) - 打乱列表顺序的操作

    手工打乱列表元素的顺序 编写函数(不使用Python模块的函数),打乱列表元素的顺序 如何对列表元素进行随机排列 ...

网友评论

      本文标题:如何删掉R列表里面的空元素

      本文链接:https://www.haomeiwen.com/subject/osvgkltx.html