NA 去掉删除多余的na 向量是否存在两个以及两个以上等于0的值 na NA 如何计算R中向量中大于某个值的元素数量 R如何按条件查找数据并删除符合条件的数据所在的行 判定一个向量是否包含0这个元素_YoungLeelight的博客-CSDN博客

上次GEO课程回答了学员问题:使用R语言在向量的任何位置插入任何元素 实力演示了如何自定义函数,这样大家就可以无限制创造方法来解决自己特殊的需求,课后一个月的答疑期,发现大家还是有各式各样的问题,比如下面的表型信息;

很明显,有些信息是冗余的,有些是有效信息可以用来分组,但是表型记录太多,看起来会混淆,所以需要去除那些冗余信息,就是在所有样本里面表型记录都一致的列。

然后我发现, 非常多的学员都无从下手,其实就是数据框取子集,我一直强调了3种方法,坐标、列名和逻辑判断,这个时候很明显应该是逻辑判断,就是看看每一列是否是冗余信息。我们来举一个例子,下面的代码创建一个模拟的表型信息;

pd=data.frame(1:10,4,7,3,'a','d',LETTERS[1:10],letters[1:10],c(rep('a',5),rep('b',5)))

如下所示,只有第1列和最后3列是有信息的,中间的列在所有行都是同一个元素,就是我们所认为的冗余信息,需要去除。

我们首先判断第一列非冗余元素的个数,下面的代码

length(unique(pd[,1]))

然后对每一列都使用同样的代码,那就是apply技巧:

apply(pd, 2, function(x){length(unique(x))
})

这个时候里面的x就是每一列。

这样虽然是判断了每一列的非冗余元素个数,但并不是逻辑值,没办法去用来对数据框取子集。

需要加上一个判断,就是元素个数大于一才保留;

apply(pd, 2, function(x){length(unique(x)) > 1
})

现在就是依据每一列返回一个逻辑值,这个逻辑值就可以去原始数据框里面进行取子集操作;

pd[,apply(pd, 2, function(x){length(unique(x))>1
})
]

是不是很简单!

再次强调3种方法数据框里面进行取子集操作,坐标、列名和逻辑判断,其中逻辑判断是最常见的。

对表型数据框进行去冗余 phe 表型信息提取 临床信息提取 自建函数提取 种方法数据框里面进行取子集操作,坐标、列名和逻辑判断每列满足某个要求每行满足某个要求按条件筛选数据库dataframe相关推荐

  1. R语言dplyr包的slice函数提取数据集的数据行实战

    R语言dplyr包的slice函数提取数据集的数据行实战 目录 R语言dplyr包的slice函数提取数据集的数据行实战 #导入dplyr包

  2. C#代码像QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法...

    你QQ的右下角消息框一样,无论现在用户的焦点在哪个窗口,消息框弹出后都不影响焦点的变化,那么有两种方法: 要么重写需要弹出的窗体的事件: protected override CreateParams ...

  3. 数据湖是一种方法 数据湖的四个最佳实践

    数据湖听起来很简单:把数据或信息汇集到一个结合处理速度和存储空间的大数据系统――Hadoop集群或内存解决方案,那样业务部门就能访问数据,获取新的洞察力.不过,与IT行业的许多技术一样,现实比梦想困难 ...

  4. python 文本框内容变化_监听文本输入框内容值的改变——4种方法

    以下是addTarget: import "ViewController.h" @interface ViewController () @property (weak, nona ...

  5. 手机数据网络慢怎么修改服务器,手机网速慢怎么回事 这三种方法可以一试

    1.方案一: (1)在手机的主菜单找到"设置",点击进入. (2)进入设置界面后,找到"移动网络",点击进入"移动网络设置",选择" ...

  6. python字典去最值_python 比较字典value的最大值的几种方法

    python中获取字典的key列表和value列表 # -*- coding: utf-8 -*- # 定义一个字典 dic = {'剧情': 11, '犯罪': 10, '动作': 8, '爱情': ...

  7. pandas使用组合条件筛选、过滤数据行

    pandas使用组合条件筛选.过滤数据行 目录 pandas使用组合条件筛选.过滤数据行 #仿真数据

  8. python用tsne降维_哈工大硕士实现了 11 种经典数据降维算法,源代码库已开放

    网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码.这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据抽取(数据降维)算法,包括:PCA.LDA.MDS.LLE. ...

  9. std中稳定排序算法_源代码库已开放 | 哈工大硕士生用 Python 实现了 11 种经典数据降维算法...

    转自:AI开发者 网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码.这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据抽取(数据降维)算法,包括:PCA.LDA ...

最新文章

  1. python和revit_如何在Python中产生新的RevitAPI对象
  2. centos 7.9密码改密钥登陆
  3. Alexa 调整网站排名统计方式
  4. 数据旋转及DB2递归的应用
  5. Spring JDBC和JdbcTemplate CRUD与DataSource示例
  6. [Day30] DBUtils和连接池
  7. 禅道设置bug模板_禅道的自定义功能:表格切换和创建页面的自定义
  8. 学习 服务器部署 hello world
  9. SpringBoot2.0源码分析(二):整合ActiveMQ分析
  10. android 数据持久化——读写SD卡中的内容
  11. 《高效对话》— 综合素质提升书籍
  12. 直播系统源码,直播平台系统源码
  13. Uiautomator 2.0之UiObject2类学习小记
  14. 视频文件转gif图片Movie To GIF使用
  15. 2021最新WordPress安装教程(一):Centos7安装Apache
  16. 什么是即时通讯(IM)?
  17. 大型医院叫号管理系统源码
  18. open3d使用知识拾遗
  19. 用shell打印正三角形_用shell命令绘制三角形
  20. 74-内存和外存的知识点

热门文章

  1. web中网络编程详解
  2. 物流英语与计算机操作,物流英语与计算机模拟题及正确答案[精选].doc
  3. 将Ubuntu安装到移动硬盘上
  4. 怎么看R语言是不是在运行_奥特曼的梗越来越多,是不是说特摄正从小众转为大众?你怎么看呢...
  5. java 设置字体_java里面怎样设置字体大小?
  6. HTML用css把英文字母改大,css font-variant全大写并缩小英文字母字体
  7. Linux应急处置/信息搜集/漏洞检测工具---附脚本下载
  8. C语言数据结构问题:停车场问题(栈和队列)
  9. 如何快速了解Final Cut 剪辑全流程,新手快速上手Final cut Mac
  10. Windows 如何关闭快捷键ctrl+alt+方向键旋转屏幕