专栏首页素质云笔记R语言︱集合运算——小而美法则

R语言︱集合运算——小而美法则

集合运算的一般规则如下: union(x,y) #求并集 intersect(x,y) #求交集 setdiff(x,y) #求属于x而不属于y的所有元素 setequal(x,y) #判断x与y是否相等 a %in% y #判断a是否为y中的元素 choose(n, k) #n个里面取k个的组合数 combn(x,n) #x中的元素每次取n个的所有组合 combn(x,n,f) #将这些组合用于指定函数f

> x=c(1,4,5)
> y=c(2,4,8)
> union(x,y)    #求并集
[1] 1 4 5 2 8
> intersect(x,y)    #求交集
[1] 4
> setdiff(x,y)    #求属于x而不属于y的所有元素
[1] 1 5
> setequal(x,y)    #判断x与y是否相等
[1] FALSE
> x %in% y    #判断a是否为y中的元素
[1] FALSE  TRUE FALSE

union(x,y)可以生成XY的并集,有一定的去重功能;

intersect代表交集,可以找出共有的,在文本挖掘中,词和词之间的对应关系;

setdiff代表去掉x中xy共有的地方;

x %in%y,这个管道函数很有意思,x中xy共有的为TURE,生成了一个逻辑向量,从而可以进行一些文档匹配的操作。

类似的用法sqldf包中的union 也可以实现:

R语言︱ 数据库SQL-R连接与SQL语句执行(RODBC、sqldf包)

——————————————————————————————————————

1、情感分析中setdiff和x %in%y的用处

功能:停用词的清理&词库之间相互匹配。stopword是停用词库,testterm是原序列。

stopword <- read.csv("F:/R语言/R语言与文本挖掘/情感分析/数据/dict/stopword.csv", header = T, sep = ",", stringsAsFactors = F)
#结果是一个和stopword等长的波尔值向量,“非”函数将布尔值反向
testterm <- testterm[!testterm$term %in% stopword,]#去除停用词
stopword <- read.csv("F:/R语言/R语言与文本挖掘/情感分析/数据/dict/stopword.csv", header = T, sep = ",", stringsAsFactors = F)
stopword <- setdiff(stopword$term,posneg$term)
testterm<- setdiff(testterm$term,stopword)

上面两端代码能实现同样的效果。 详情可见:

R语言︱情感分析文本操作技巧汇总(打标签、词典与数据匹配等)

——————————————————————————————————————

2、集合运算应用在数据匹配之上

集合运算可以较好地应用在数据之间的匹配。而匹配中,%in%的效率最高。是一个很好的匹配的媒介。一些情况要由于merge

——————————————————————————————

3、相等运算

identical(rownames(dtm_train), train$id)

返回的是逻辑值,如果相等则TRUE。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • R语言自动化报告格式——knitr

    版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! htt...

    素质
  • 相似性︱python+opencv实现pHash算法+hamming距离(simhash)(三)

    pHash跟simhash很多相近的地方。一个是较多用于图像,一个较多用于文本。 之前写关于R语言实现的博客: R语言实现︱局部敏感哈希算法(LSH)解决文...

    素质
  • DBSCAN聚类︱scikit-learn中一种基于密度的聚类方式

    一、DBSCAN聚类概述 基于密度的方法的特点是不依赖于距离,而是依赖于密度,从而克服基于距离的算法只能发现“球形”聚簇的缺点。 DBSCAN的核心思想是从...

    素质
  • vim按键整理

    csxiaoyao
  • vim按键整理 【原创】

    vim按键整理 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/csxi...

    CS逍遥剑仙
  • Java G1学习笔记

    在G1提出之前,经典的垃圾收集器主要有三种类型:串行收集器、并行收集器和并发标记清除收集器,这三种收集器分别可以是满足Java应用三种不同的需求:内存占用及并发...

    纯洁的微笑
  • raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not

    用户1214487
  • windows10 下使用visual studio2015 编译MySQL5.7.22

    windows10 下使用visual studio2015 编译MySQL5.7.22

    二狗不要跑
  • 最全面的G1学习笔记

    最近遇到很多朋友过来咨询G1调优的问题,我自己去年有专门学过一次G1,但是当时只是看了个皮毛,因此自己也有不少问题。总体来讲,对于G1我有几个疑惑,希望能够在这...

    用户2781897
  • 褪去喧嚣,AI正当时!

    从1956年“人工智能”这个词在达特茅斯会议上被首次提出,60年来历经三次浪潮终于走到落地。 人脸识别、语音识别、语音合成、自然语言理解等技术应用于新零售、智能...

    人称T客

扫码关注云+社区

领取腾讯云代金券