R语言-查找满足条件的数并获取索引

1、在R语言中,怎样找到满足条件的数呢?

比如给定一个向量c2。要求找到数值大于0的数:

> c2

[1] 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0.20 0.09 0.08 0.14 0.14 0.23

[15] 0.08 0.06 0.12 0.20 0.14 0.11 0.20 0.14 0.17 0.15 0.18 0.15 0.20 0.12

[29] 0.23 0.08 0.12 0.08 0.23 0.12 0.08 0.17 0.18 0.17 0.12 0.17 0.14 0.18

[43] 0.11 0.27 0.06

> c2[c2>0]

[1] 0.06 0.09 0.20 0.09 0.08 0.14 0.14 0.23 0.08 0.06 0.12 0.20 0.14 0.11

[15] 0.20 0.14 0.17 0.15 0.18 0.15 0.20 0.12 0.23 0.08 0.12 0.08 0.23 0.12

[29] 0.08 0.17 0.18 0.17 0.12 0.17 0.14 0.18 0.11 0.27 0.06

>

2、找到了满足条件的数,但怎样获取这些数在原向量中的位置(或索引呢)?

答案是使用which()函数。

首先找到满足大于0的数列:

> c2>0

[1] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE

[13]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE

[25]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE

[37]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE

其次,依据该数列标识。就能找到相应的索引了。

> which(c2>0)

[1]  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

[25] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

3、查找推断

(1)推断至少一个数满足条件

比如推断向量中至少有一个小于或等于零的数

> any(c2<=0)

[1] TRUE

(2)推断全部的数都满足条件

比如推断全部的数都大于0,推断全部的数都大于等于0:

> all(c2>0)

[1] FALSE

> all(c2>=0)

[1] TRUE

>

时间: 2024-10-06 14:28:27

R语言-查找满足条件的数并获取索引的相关文章

R语言查找变量ls函数

要知道目前在工作区中的可用变量,可以使用 ls()函数列出所有变量. 另外,ls() 函数可以使用模式来匹配变量名称. print(ls()) 当上面的代码执行时,它产生以下结果: [1] "my var" "my_new_var" "my_var" "var.1" [5] "var.2" "var.3" "var.name" "var_name2.&quo

R语言统计字符串的字符数ncahr函数

函数计算字符数量,包括在一个字符串的空格的个数. 语法 nchar()函数的基本语法是: nchar(x) 以下是所使用的参数的说明: x - 向量输入. 示例 result <- nchar("Count the number of characters") print(result) 当我们上面的代码执行时,它产生以下结果: [1] 30

R语言:绘制知识图谱

知识图谱主要是通过将应用数学,图形学,信息可视化技术,信息科学等学科的理论与方法与计量学引文分析.共现分析等方法结合,利用可视化的图谱形象地展示学科的核心结构.发展历史.前沿领域以及整体知识架构达到多学科融合目的的现代理论. 今天我们借助networkD3包里面的simpleNetwork 函数来绘制一个类似CSDN微信开发的知识图谱,效果图如下: 首先我们先来分析一下这张图,图里面的微信支付--微信支付,小程序--小程序,等这些,它们之间本不需要连线,但这里是为了美观好看,才有这些连线,但实际

[译]用R语言做挖掘数据《一》

介绍 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令2. GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器3. R:在命令行输入‘R’即可进入交互式环境,下面的代码都是在交互式环境运行. 3. 环境使用 使用R语言交互式环境输入

R语言确定聚类的最佳簇数:3种聚类优化方法

原文链接:http://tecdat.cn/?p=7275 确定数据集中最佳的簇数是分区聚类(例如k均值聚类)中的一个基本问题,它要求用户指定要生成的簇数k. 一个简单且流行的解决方案包括检查使用分层聚类生成的树状图,以查看其是否暗示特定数量的聚类.不幸的是,这种方法也是主观的. 我们将介绍用于确定k均值,k medoids(PAM)和层次聚类的最佳聚类数的不同方法. 这些方法包括直接方法和统计测试方法: 直接方法:包括优化准则,例如簇内平方和或平均轮廓之和.相应的方法分别称为弯头方法和轮廓方法

R语言-处理异常值或报错的三个示例

Tuesday, March 31, 2015 之前用rvest帮人写了一个定期抓取amazon价格库存,并与之前价格比较的小程序,算是近期写过的第一个完整的程序了.里面涉及了一些报错的处理. 这里主要参考了stackoverflow上的以下问答: How to skip an error in a loop skip to next value of loop upon error in R tryCatch部分,后续查找资料,发现以下博文: 1. R语言使用tryCatch进行简单的错误处理

R 语言学习日志 1

  1. CSV文件的的读取与写出 2. 数据集筛选 3. 简单随机抽样 sample函数 正文: 1. CSV文件的的读取与写出 文件读取: df2 <- read.table("C:\\Users\\Lee\\Desktop\\R语言\\dummyData.csv", header= TRUE, sep=",") 文件写出:write.table(df1, "C:\\Users\\Lee\\Desktop\\R语言\\dummyData.csv&

R语言实战(五)方差分析与功效分析

本文对应<R语言实战>第9章:方差分析:第10章:功效分析 ==================================================================== 方差分析: 回归分析是通过量化的预测变量来预测量化的响应变量,而解释变量里含有名义型或有序型因子变量时,我们关注的重点通常会从预测转向组别差异的分析,这种分析方法就是方差分析(ANOVA).因变量不只一个时,称为多元方差分析(MANOVA).有协变量时,称为协方差分析(ANCOVA)或多元协方差分析

基于R语言的数据分析和挖掘方法总结——均值检验

2.1 单组样本均值t检验(One-sample t-test) 2.1.1 方法简介 t检验,又称学生t(student t)检验,是由英国统计学家戈斯特(William Sealy Gosset, 1876-1937)所提出,student则是他的笔名.t检验是一种检验总体均值的统计方法,当数据中仅含单组样本且样本数较大时(通常样本个数≧30的样本可视为样本数较大),可用这种方法来检验总体均值是否大于.小于或等于某一特定数值.当数据中仅含单组样本但样本数较小时(通常样本个数<30的样本可视为