R中ifelse、which、%in%的用法 (2014-02-08 13:54:08)
标签: 教育
在R学习过程中,遇到了ifelse、which、%in%,下面分别举例,说明他们的用法。
1、ifelse
ifelse(test, yes, no)
test为真,输出yes值,否则输出no值。
举例如下:
> x <- c(1,1,1,0,0,1,1)
> ifelse(x != 1, 1, 0) #若果x的值不等于1,输出1,否则输出0
[1] 0 0 0 1 1 0 0

2、which
用法which(test)。
返回test为真值的位置(指针)。
举例如下:
> which(x!=1) #返回x中不等于1的变量值得位置
[1] 4 5
> which(c(T,F,T)) #返回c(T,F,T)中为TURE值的位置。
[1] 1 3
> which(c(1,0,1)) #只对T, F做判断。
Error in which(c(1, 0, 1)) : argument to 'which' is not logical

3、%in%
用法 a %in% table
a值是否包含于table中,为真输出TURE,否者输出FALSE
例如
> x %in% 1
[1] TRUE TRUE TRUE FALSE FALSE TRUE TRUE
> x %in% c(1, 0)
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE
> x %in% c(1, 2)
[1] TRUE TRUE TRUE FALSE FALSE TRUE TRUE

联合使用
> ifelse(x %in% 1, 1, 0) #若x的值包含在1里面,输出1,否者输出0
[1] 1 1 1 0 0 1 1
> ifelse(x %in% 1, 'yes', 'no') #若x的值包含在1里面,输出yes,否者输出no
[1] "yes" "yes" "yes" "no" "no" "yes" "yes"
> which(x %in% 1) 输出x包含在1中值的位置
[1] 1 2 3 6 7
> y <- c(2, 1, 3, 4)
> z <- c(1, 4)
> ifelse(y %in% z, which(y==z), 0 ) ##若y的值包含在z里面,输出y==z的位置,否者输出0
[1] 0 2 0 4
> ifelse(y %in% z, which(y==z), 0 ) ##若y的值包含在z里面,输出y==z的位置,否者输出0,
#此例中没有找到y==z的值, 输出为NA。
[1] NA 0 0 NA
> ifelse(y %in% z, 1, 0 )
[1] 1 0 0 1

R中ifelse、which、%in%的用法的更多相关文章

  1. R语言编程艺术(2)R中的数据结构

    本文对应<R语言编程艺术>第2章:向量:第3章:矩阵和数组:第4章:列表:第5章:数据框:第6章:因子和表 ======================================== ...

  2. 简单介绍一下R中的几种统计分布及常用模型

    统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...

  3. Linq中关键字的作用及用法

    Linq中关键字的作用及用法 1.All:确定序列中的所有元素是否都满足条件.如果源序列中的每个元素都通过指定谓词中的测试,或者序列为空,则为 true:否则为 false. Demo: 此示例使用 ...

  4. R中的name命名系列函数总结

    本文原创,转载请注明出处,本人Q1273314690 R中关于给行列赋名称的函数有 dimnames,names,rowname,colname,row.names 这五个函数,初学的时候往往分不清楚 ...

  5. js正则表达式中的问号几种用法小结

    这篇文章主要介绍了js正则表达式中的问号几种用法,比如+?,*?,{2,3}?可以停止匹配的贪婪模式,感兴趣的朋友可以参考下 在表示重复的字符后面加问号,比如+?,*?,{2,3}?可以停止匹配的贪婪 ...

  6. 简单说明Python中的装饰器的用法

    简单说明Python中的装饰器的用法 这篇文章主要简单说明了Python中的装饰器的用法,装饰器在Python的进阶学习中非常重要,示例代码基于Python2.x,需要的朋友可以参考下   装饰器对与 ...

  7. python中的formatter的详细用法

    今天抽空学习了一下python中的string service中的formatter的相关用法,主要是为了让自己的代码看起来更加和谐,因为很多java或者c语言过来的开发者都不怎么爱使用python的 ...

  8. 12个 Linux 中 grep 命令的超级用法实例

    12个 Linux 中 grep 命令的超级用法实例 你是否遇到过需要在文件中查找一个特定的字符串或者样式,但是不知道从哪儿开始?那么,就请grep来帮你吧. grep是每个Linux发行版都预装的一 ...

  9. 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包)

    目录 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包) 导论 rugarch 简介 指定一个 \(\text{GARCH}(1, 1)\) 模型 模拟一个 GARCH 过程 拟合 ...

随机推荐

  1. WPF 项目升级错误

    今天将一个 WPF 项目从 .NET 4.0 升级至 .NET 4.6.1 时,出现一个错误: 错误        未知的生成错误"程序集"PresentationFramewor ...

  2. eclipse下SVN subclipse插件

    本文目的 让未使用过版本控制器软件或者未使用过subversion软件的人员尽快上手. subversion的使用技巧很多,这里只总结了最小使用集,即主要的基本功能,能够用来应付日常工作. 因此不涉及 ...

  3. iOS_生成pem推送证书(用于百度云推送)

    具体步骤如下: 首先,需要一个pem的证书,该证书需要与开发时签名用的一致. 具体生成pem证书方法如下: 1. 登录到 iPhone Developer Connection Portal(http ...

  4. [svc][dhcp]关于无线ap自动发现选项dhcp option43配置

    有人问到option43的问题,查了点资料.总结了下win和linux的option43的配置: windows2003 http://www.h3c.com.cn/Service/Channel_S ...

  5. html5中audio的详细使用

    html5的audio功能上已经非常强大,回放,跳转,缓冲等以前只能用flash才能实现的功能,html5的audio都能轻松搞定 最近的一个项目使用到了这个功能,把我使用的情况写下来,供大家参考, ...

  6. spring cloud 项目相关集成简介

    Spring Cloud Config 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储.Git以及Subversion. Spring Cloud Bus 事件.消 ...

  7. 【小白的CFD之旅】22 好网格与坏网格

    网格疏密网格形状其他的一些问题小白的总结郑重申明 网格的作用如此重要,以至于小白纠结了很久.小白知道网格划分过程很大程度上受制于计算资源的限制,但小白还是不太明白,如果计算资源非常充足,不用顾忌资源限 ...

  8. Cowboy实例

    这个例子主要是用cocos2d-x引擎自带的资源 cocos2d-x-2.2.2\samples\Cpp\TestCpp\Resources\armature 新建工程之后 #include &quo ...

  9. Nginx配置优化参考

    Nginx配置优化参考                                                                                          ...

  10. 基于OCS实现高速缓存

    OCS简介 OCS( Open Cache Service)为分布式高速缓存服务,主要实现热点数据的快速响应: OCS支持Key/Value的数据结构,兼容memcachebinary protoco ...