R语言%in%小测试

%in%小测试

%in%是生信技能树生信爆款入门课程R语言部分的讲到的一个重要知识点。
为加深理解,现在找一个数据集做下练习巩固,。

简单介绍

 %in%用来判断前面一个向量内的元素是否在后面一个向量中,返回布尔值

准备数据

> library(tidyverse)
> diamonds
# A tibble: 53,940 x 10
   carat cut       color clarity depth table price     x     y     z
   <dbl> <ord>     <ord> <ord>   <dbl> <dbl> <int> <dbl> <dbl> <dbl>
 1 0.23  Ideal     E     SI2      61.5    55   326  3.95  3.98  2.43
 2 0.21  Premium   E     SI1      59.8    61   326  3.89  3.84  2.31
 3 0.23  Good      E     VS1      56.9    65   327  4.05  4.07  2.31
 4 0.290 Premium   I     VS2      62.4    58   334  4.2   4.23  2.63
 5 0.31  Good      J     SI2      63.3    58   335  4.34  4.35  2.75
 6 0.24  Very Good J     VVS2     62.8    57   336  3.94  3.96  2.48
 7 0.24  Very Good I     VVS1     62.3    57   336  3.95  3.98  2.47
 8 0.26  Very Good H     SI1      61.9    55   337  4.07  4.11  2.53
 9 0.22  Fair      E     VS2      65.1    61   337  3.87  3.78  2.49
10 0.23  Very Good H     VS1      59.4    61   338  4     4.05  2.39
# ... with 53,930 more rows

生成2个向量

> x <- sort(unique(diamonds$carat)[1:10])
> x#10个数值
 [1] 0.20 0.21 0.22 0.23 0.24 0.26 0.29 0.30 0.31 0.32
> y <- x[1:5]
> y#5个数值
[1] 0.20 0.21 0.22 0.23 0.24

生成2个数据框

> a <- data.frame(cut = sort(unique(diamonds$price)[1:10]))
> a
   cut
1  326
2  327
3  334
4  335
5  336
6  337
7  338
8  339
9  340
10 342
> b <- data.frame(cut = sort(unique(diamonds$price)[1:5]))
> b
  cut
1 326
2 327
3 334
4 335
5 336

1.判断y中的元素是否都在x中

> y %in% x
[1] TRUE TRUE TRUE TRUE TRUE

2.判断x中的元素是否都在y中

> x %in% y
 [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE

3.提取x中与y相同的元素

> x[x %in% y]
[1] 0.20 0.21 0.22 0.23 0.24

4提取y中与x相同的元素

> y[y %in% x]
[1] 0.20 0.21 0.22 0.23 0.24

5.提取x中与y不相同的元素

> x[!(x %in% y)]
[1] 0.26 0.29 0.30 0.31 0.32
> #注意非符号“!”位于整个语句之前,而非%in%之前。
> #match函数与%in%的功能相似,都可以进行匹配操作。
> #不同的是:match函数返回的是索引(即匹配单元的位置号),%in%返回的是逻辑值(T&F)

6.找出数据框b中与a相同的元素

> b$cut[b$cut %in% a$cut]
[1] 326 327 334 335 336

7.找出数据框a中与b不同的元素

> a$cut[!(a$cut %in% b$cut)]
[1] 337 338 339 340 342

8.使用%in%计算下x中有多少个数值与y相同?

> sum(x %in% y)
[1] 5

9.使用%in%计算下x中有多少个数值与y不相同?

> sum(!(x %in% y))
[1] 5

10.将数据框a与b不同的元素都修改为100。

> a$cut[!(a$cut %in% b$cut)] <- 100
> a
   cut
1  326
2  327
3  334
4  335
5  336
6  100
7  100
8  100
9  100
10 100
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容

  • R语言与数据挖掘:公式;数据;方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还...
    __一蓑烟雨__阅读 1,631评论 0 5
  • 《R语言入门》的读书笔记 本书的重点内容及感悟: 第一章 导言 1、R是一个有着统计分析功能及强大作图功能的软件系...
    格式化_001阅读 12,586评论 0 9
  • ->点击访问个人博客地址,相互交流学习<- 上一篇:[R语言——基础篇](https://www.jianshu....
    JackHCC阅读 4,475评论 0 1
  • 为了解决感兴趣的问题,我们首先必须解决一些数据管理方面的问题。 4.2 创建新变量 在典型的研究项目中,你可能需要...
    在雨中跳舞阅读 1,553评论 2 1
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,518评论 16 22