批量生成变量及引用_R语言:data.table语句批量生成变量
作者:村长,数据科学、指弹吉他及录音工程爱好者,浙大金融学博士在读,在data.table包和MongoDB的使用上有较多经验。
写
在前面
本期依然由村长为大家供稿,只为填上一期最后挖的坑,话不多说进入正题。
问
题提出
在上一期中,还记得我们留下的那个彩蛋吗?我们在对多列标准进行筛选时,在之前我们还进行了一步非常重要的提取,也就是将每一列观察值提取出某一特定的字段,而后生成一系列变量,这些变量的观测值只可能存在三种情况:醛固酮、继发性醛固酮或者NA。
经过这样的处理我们才能进行上一期公众号所讲述的下一步:以多列标准进行筛选的操作。
我们先将这段代码放上来:
clinic
再来看看运行结果:
上述结果可以看出,我们重新生成了很多被处理过的变量,都带有后缀_xtrct,下面让村长对这一行代码进行详细解析。
:=
右边
关于 ':= lapply' 的用法,在这里小编不再赘述,如果大家对此不是很熟悉可以看这一期公众号:用data.table语句批量处理变量。
在这里通过链接中的推送的lapply使用原理,再加上stringr包中str_match这个函数的使用,截取出诊断结果中出现过的继发性醛固酮或者醛固酮,没有出现过的自动记为NA。代码如下:
lapply(.SD[, 2:23], str_match, "继发性醛固酮|醛固酮")
:=
左边
我们可以再回顾一下,上文链接中用data.table语句批量处理变量的推送中所提到的 ‘:=’ 左边格式的问题:
':=' 左边的格式应该是一个向量,一个带有需要被处理变量的字符格式的向量,这一点从colnames这个函数的使用可以得知。
那么对于一个字符格式向量的处理,最好的选择就是stringr这个包,在这里我们为需要提取一部分字段的变量,运用str_c这个函数,对每一个变量名加入了后缀_xtrct,从而生成一系列新的变量名,也即是我们上文中生成的那个数据集。
str_c(colnames(clinic)[2:23], "_xtrct")
最后我们把 ':=' 左右两边的代码组合在一起,放入data.table语句的j中就是我们在一开始所讲述的代码。
转载自公众号:大猫的R语言课堂
往期精彩:
R语言:以多列标准筛选特定行
还在用tm?你OUT啦!
从一件数据清洗的小事说起
用data.table语句批量处理变量
R语言:哪个函数解析时间最快?
公众号后台回复关键字即可学习
回复 爬虫 爬虫三大案例实战回复 Python 1小时破冰入门回复 数据挖掘 R语言入门及数据挖掘回复 人工智能 三个月入门人工智能回复 数据分析师 数据分析师成长之路 回复 机器学习 机器学习的商业应用回复 数据科学 数据科学实战回复 常用算法 常用数据挖掘算法
愿有人与你立黄昏,有人问你粥可温↓
批量生成变量及引用_R语言:data.table语句批量生成变量相关推荐
- R语言data.table导入数据实战:data.table生成新的数据列(基于已有数据列)、生成多个数据列
R语言data.table导入数据实战:data.table生成新的数据列(基于已有数据列).生成多个数据列 目录 R语言data.table导入数据实战:data.
- R语言使用order函数按照两个数据列的值排序data.table数据(主变量降序排序、次变量升序排序)
R语言使用order函数按照两个数据列的值排序data.table数据(主变量降序排序.次变量升序排序) 目录
- R语言data.table导入数据实战:data.table中编写函数并使用SD数据对象
R语言data.table导入数据实战:data.table中编写函数并使用SD数据对象 目录 R语言data.table导入数据实战:data.table中编写函数并使用SD数据对象 #data.t ...
- R语言data.table导入数据实战:把data.frame数据转化为data.table数据
R语言data.table导入数据实战:把data.frame数据转化为data.table数据 目录 R语言data.table导入数据实战:把data.frame数据转化为data.table数据 ...
- R语言data.table导入数据实战:data.table使用by函数进行数据分组(aggregate)
R语言data.table导入数据实战:data.table使用by函数进行数据分组(aggregate) 目录 R语言data.table导入数据实战:data.table使用by函数进行数据分组( ...
- R语言data.table进行滚动数据连接,滚动连接通常用于分析涉及时间的数据(例如商业销售活动和对应的广告投放的安排之之间的关系)实战:实战和动画说明滚动数据连接的形式及方法
R语言data.table进行滚动数据连接,滚动连接通常用于分析涉及时间的数据(例如商业销售活动和对应的广告投放的安排之之间的关系)实战:实战和动画说明滚动数据连接的形式及方法 目录
- R语言data.table进行滚动数据连接,滚动联接通常用于分析涉及时间的数据实战(动画说明滚动数据连接的形式):rolling joins data.table in R
R语言data.table进行滚动数据连接,滚动联接通常用于分析涉及时间的数据实战(动画说明滚动数据连接的形式):rolling joins data.table in R 目录
- R语言data.table导入数据实战:data.table使用字符向量创建新的数据列
R语言data.table导入数据实战:data.table使用字符向量创建新的数据列 目录 R语言data.table导入数据实战:data.table使用字符向量创建新的数据列
- rraylist参数_R语言︱list用法、批量读取、写出数据时的用法
列表是一种特别的对象集合,它的元素也由序号(下标)区分,但是各元素的类型可 以是任意对象,不同元素不必是同一类型.元素本身允许是其它复杂数据类型,比如,列表 的一个元素也允许是列表.例如: > ...
最新文章
- 大图详解负载神器 LVS、Nginx及HAProxy工作原理
- 463. 岛屿的周长
- 重学TCP协议(9) 半连接队列、全连接队列
- 如何制定好的方案之四:执行力是决定因素
- img标签设置display:block,宽度无法100%
- jupyternotebook 报告_基本操作!在VS 代码中如何使用Jupyter Notebook
- ajax判断网络中断,如何检测由于网络Ajax调用失败断开
- 世粮署:马斯克、贝索斯等富豪应捐出部分资产缓解全球饥饿
- 【Es】es deep paging问题
- vs2012 编译cocos2d-x项目报error MSB3073
- C++14::lambda函数的类型
- 【CART与GBDT】
- Android开发+Java基础视频教程——第一讲
- catia曲面扫掠命令详解_CATIA建模教程(三)——扫掠曲面在曲面造型中的应用.pdf...
- 中文图片验证码程序。
- everedit 保存机器学习路径注意事项
- Pycharm一键选中多个东西(数据、函数等)进行修改、删除、替换等
- day05-python数字类型和列表
- 记一次面试准备(续上)
- 【STC头文件】STC8系列之STC8G头文件寄存器注释