您的位置:首页 > 其它

R语言中的常用函数

2016-05-10 23:51 405 查看

运用R软件中的Rwordseg完成中文分词

Rwordseg包使用rJava中文分词工具Ansj来实现,Ansj是基于中科院ictlas中文分词算法的开源工具。Rwordseg包依赖于rJava和java环境,所以安装前需要安装好JRE。在导入该包是需要编辑java环境变量,可以在R中直接设定当前JRE环境变量:

Sys.setenv(JAVA_HOME='C:/Program Files/Java/jre7')  #设置JRE的安装目录

library(rJava)

library(Rwordseg)

weibo <- "技术的作用从短期的来看往往被高估,但是从长期来看,又往往容易被低估,转的,认为有道理最后一次,思考,思考"

weiboseg <- segmentCN(weibo,nature=T)

weiboseg 

     n          uj      n           p       b          uj       v         v      
 d          p      v            c          p       d

"技术"   "的" "作用"   "从" "短期"   "的"   "来"   "看" "往往"   "被" "高估" "但是"   "从" "长期"

     v       v         d        d          a          p        v          v    
    uj       v          v          n          f          m

  "来"   "看"   "又" "往往" "容易"   "被" "低估"   "转"   "的" "认为"   "有" "道理" "最后" "一次"

     v          v

"思考" "思考" 

在实际工作中,我们经常需要进行一些集合运算,在R中怎么实现呢?当然用不着写for或者while循环那么复杂了,R已经为我们提供了非常强大的集合运算系列函数,下面就简单的介绍一下这些函数(假设A,B,C为三个集合):

#首先对集合A,B,C赋值

> A<-1:10

> B<-seq(5,15,2)

> C<-1:5

> #求A和B的并集

> union(A,B)


 [1]  1  2  3  4  5  6  7  8  9 10 11 13 15
> #求A和B的交集

> intersect(A,B)


[1] 5 7 9
> #求A-B

> setdiff(A,B)


[1]  1  2  3  4  6  8 10
> #求B-A

> setdiff(B,A)


[1] 11 13 15
> #检验集合A,B是否相同

> setequal(A,B)


[1] FALSE
> #检验元素12是否属于集合C

> is.element(12,C)


[1] FALSE
> #检验集合A是否包含C

> all(C%in%A)


[1] TRUE
> all(C%in%B)

[1] FALSE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息