相关疑难解决方法(0)

更有效的策略()或匹配()

我有一个正数和负数的向量

vec<-c(seq(-100,-1), rep(0,20), seq(1,100))
Run Code Online (Sandbox Code Playgroud)

向量大于示例,并采用一组随机值.我必须重复找到载体中的负数的数量......我发现这是非常低效的.

由于我只需要找到负数的数量,并且向量被排序,我只需要知道前0或正数的索引(实际随机向量中可能没有0).

目前我正在使用此代码来查找长度

length(which(vec<0))
Run Code Online (Sandbox Code Playgroud)

但这迫使R遍历整个向量,但由于它已经排序,所以没有必要.

我可以用

match(0, vec)
Run Code Online (Sandbox Code Playgroud)

但我的矢量并不总是0

所以我的问题是,是否有某种match()函数应用条件而不是查找特定值?或者是否有更有效的方法来运行我的which()代码?

谢谢

r vectorization match which

6
推荐指数
1
解决办法
1261
查看次数

标签 统计

match ×1

r ×1

vectorization ×1

which ×1