首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >R中的哪个函数或应用函数

R中的哪个函数或应用函数
EN

Stack Overflow用户
提问于 2013-06-24 10:43:32
回答 3查看 546关注 0票数 0

我试图写一个函数:

给定向量vect[i] == 0的当前索引,如果是vect[i+1] > 0,它将返回TRUE。否则,返回FALSE

我知道如何用for循环写出它来遍历整个向量。但是,我对更有效的方法感兴趣,比如编写如下简单的函数,然后将其传递给which()apply()函数?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ia <- function(x) {
    if(vect[i] == 0) {
        if(vect[i+1] > 0) {
            return TRUE
        } else {
            return FALSE
        }
    }
}

这不管用。如何使其工作,使我可以将上面的函数传递到哪个函数或任何更好的函数,您可以提出?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-24 10:51:10

试试像这样的东西

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ia <- function(x) c(x[-length(x)] == 0 & x[-1] > 0, FALSE)

x <- c(1, 3, 0, 3, 4, 5, 0, 0, -3, 4, 0, 1, 0, -3, 10)

ia(x)
 [1] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[11]  TRUE FALSE FALSE FALSE


cbind(x, ia(x))
       x  
 [1,]  1 0
 [2,]  3 0
 [3,]  0 1
 [4,]  3 0
 [5,]  4 0
 [6,]  5 0
 [7,]  0 0
 [8,]  0 0
 [9,] -3 0
[10,]  4 0
[11,]  0 1
[12,]  1 0
[13,]  0 0
[14,] -3 0
[15,] 10 0

我们还可以使用which获取索引。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which(ia(x))
[1]  3 11
票数 2
EN

Stack Overflow用户

发布于 2013-06-24 10:49:51

怎么样

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vect[which(vect==0) + 1] > 0
票数 2
EN

Stack Overflow用户

发布于 2013-06-24 10:58:05

以下是两种方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
k <- c(0,1,0,2,0,0,3,0)
result <- c(mapply(function(x,y) x == 0 & y > 0, head(k, -1), tail(k, -1)), FALSE)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
c(apply(embed(k,2), 1, function(row) row[1] > 0 & row[2] == 0), FALSE)

tail和带有-1参数的head分别返回第一个和最后一个元素之外的所有元素,您可以使用它来比较每个索引的值和后面的索引值。带参数的embed 2创建向量的两列矩阵,其中最后一列包含除最后一个元素之外的所有元素,第二列滞后于1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17282716

复制
相关文章
R语言:哪个函数解析时间最快?
把“以字符格式存储”(chr)的时间日期数据解析成R中的时间日期(Date,POSIXct, POSIXlt...)格式是一项非常常见的工作。虽然有时候我们会发现有些任务不一定需要转换成日期格式就能完成,但是很多时候转化成日期格式是更安全的做法,而且会大大提高工作效率。
用户7652506
2020/08/12
1.5K0
R语言:哪个函数解析时间最快?
R中的sweep函数
base包中的sweep函数是处理统计量的工具,一般可以结合apply()函数来使用。当我们我们需要将apply()统计出来的统计量代回原数据集去做相应操作的时候就可以用到sweep()。
生信交流平台
2022/09/21
2.7K0
R中的sweep函数
「R」tidyverse 中的公式函数
本文的写作由来是知识星球一个朋友对如何在 tidyverse 系列包中使用公式函数(单侧公式)不太熟悉,所以通过本文分享一下我的心得。
王诗翔呀
2021/01/03
4K0
「R」tidyverse 中的公式函数
R中的替换函数gsub
其中pattern是要替换的字符,replacement是替换成的字符,x是对应的string或string vector。
生信交流平台
2022/09/21
3.2K0
R中的替换函数gsub
R」R 的函数
函数,其实就是一个黑箱子,一个封闭的计算结构体,对于用户来说,只需要关注输入和输出。函数在所有的编程语言中都有实现,主要的目的是方便进行模块化编程,代码维护等。
王诗翔呀
2020/07/03
1.3K0
mysql中的哪个函数和 oracle中的decode()函数的功能一样
目录 MySQL oracle MySQL Select title,case Emergency when 1 then '紧急' else '普通' End as emergency from already_sign oracle select decode(dir,1,0,1) from a1_interval
一写代码就开心
2021/07/13
1.9K0
R中的stack和unstack函数
我们用R做数据处理的时候,经常要对数据的格式进行变换。例如将数据框(dataframe)转换成列表(list),或者反过来将列表转换成数据框。那么今天小编就给大家介绍一对R函数来实现这样的功能。
生信交流平台
2020/09/22
5.4K0
R中的stack和unstack函数
R中的expand.grid() 函数
在R中,expand.grid()函数可以返回几个元素所有可能的组合,使我们免于多层遍历的苦恼。比如如下例子:
生信编程日常
2020/12/29
3.1K0
R中的grep和grepl函数
在日常数据分析的过程中,我们经常需要在一个字符串或者字符串向量中查找是否包含我们要找的东西,或者向量中那几个元素包含我们要查找的内容。这个时候我们会用到R中最常用的两个函数,grep和grepl。其实grep这个函数也并非是R所特有的,在linux中模式匹配也用grep这个函数,前面我就给大家简单介绍过☞Linux xargs grep zgrep命令。
生信交流平台
2022/09/21
2.5K0
R中的grep和grepl函数
R函数
函数是一组一起执行一个任务的语句。R 语言本身提供了很多的内置函数,当然我们也可以自己创建函数。
生信交流平台
2020/09/29
6730
Oracle 中 table 函数的应用
该文介绍了如何利用基于对象类型和基于表格类型的表函数,实现对复杂数据类型的处理。首先介绍了两种表函数的定义和实现方式,然后通过几个具体的例子,展示了如何使用这两种表函数来处理复杂数据类型,例如日期、国家、性别等。同时,文章还介绍了如何利用PL/SQL来实现这些表函数,以及如何利用这些表函数来处理大数据量的数据。
用户1148526
2018/01/03
2.4K0
js中map函数的应用
这个callback一共可以接收三个参数,其中第一个参数代表当前被处理的元素,而第二个参数代表该元素的索引。
IT工作者
2022/01/24
5.6K0
「R」获取R包中的函数和对象列表
问题 你想知道包里有什么。 方案 在一个新的 R 会话中使用 search() 可以查看默认加载的包。 search() #> [1] ".GlobalEnv" "package:ellipse" #> [3] "package:Cairo" "package:grid" #> [5] "package:dplyr" "package:scales" #> [7] "package:Rmisc" "package:plyr" #>
王诗翔呀
2020/07/03
7.3K0
巧用R中的各种排名窗口函数
在sql中巧用窗口函数可以解决很多复杂的问题,窗口函数有4种函数类型:排名函数、偏移函数、聚合函数和分布函数,详细介绍可以浏览:
1480
2019/05/21
3.5K0
R中的自定义函数function
函数语法 函数名<-function(parameters){ statemens return(expression)} printLine <- function () { print("--------------------------------------------"); } #函数的调用 printLine(); #错误:无参函数,有参调用 printLine("parameter"); printNLines <- function (n) { for(i in 1:n) {
Erin
2018/01/09
2.5K0
使用R中merge()函数合并数据[通俗易懂]
在R中可以使用merge()函数去合并数据框,其强大之处在于在两个不同的数据框中标识共同的列或行。
全栈程序员站长
2022/07/01
5.4K0
使用R中merge()函数合并数据[通俗易懂]
R语言函数
用户10803254
2023/10/23
2450
回调函数在Java中的应用
关于回调函数(Callback Function),维基百科已经给出了相当简洁精炼的释义。Java的面向对象模型不支持函数,其无法像C语言那样,直接将函数指针作为参数;尽管如此,我们依然可以基于接口来获得等效的回调体验。
程序猿杜小头
2022/12/01
3K0
HyperLogLog函数在Spark中的高级应用
预聚合是高性能分析中的常用技术,例如,每小时100亿条的网站访问数据可以通过对常用的查询纬度进行聚合,被降低到1000万条访问统计,这样就能降低1000倍的数据处理量,从而在查询时大幅减少计算量,提升响应速度。更高层的聚合可以带来进一步的性能提升,例如,在时间维按天聚合,或者通过站点而不是URL聚合。
王知无-import_bigdata
2020/01/14
2.6K0
HyperLogLog函数在Spark中的高级应用
Framebuffer 应用编程中涉及的 API 函数
本节程序的目的是:打开 LCD 设备节点,获取分辨率等参数,映射 Framebuffer,最后实现描点函数。
韦东山
2022/05/05
3890
Framebuffer 应用编程中涉及的 API 函数

相似问题

sapply或R中的其他应用函数

13

使用哪个和!R中的函数

211

SPSS中的哪个函数可以模拟R SPSS()函数?

24

R盒图哪个函数

10

如何使用lapply或应用函数族来调用R中函数中的函数?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文