gpt4 book ai didi

R,是否有任何函数能够搜索并仅返回符合向量/列表/矩阵行/列中某些内容的第一个元素?

转载 作者:行者123 更新时间:2023-12-04 11:18:17 25 4
gpt4 key购买 nike

例如,在标题之后,我只想获取 (1,4,5,2,7,45,8) 中的第一个偶数。我可以做循环,我可以使用 which(),但它们似乎不够高效。你有更好的想法吗?

谢谢!

最佳答案

这是我第一次尝试使用 Rcpp。我不太了解 C++,但这似乎可行,而且由于它在找到第一个偶数后中断,并且显式 for 循环在编译代码中运行,它应该非常快。

>   library(Rcpp)
> cppFunction('
+ int firstEven(IntegerVector x) {
+ int n = x.size();
+ for(int i = 0; i < n; ++i) {
+ if (x[i] % 2 == 0) {
+ return x[i];
+ }
+ }
+ }'
+ )
> firstEven(c(1,2,3,4))
[1] 2
>

这绝对是一个幼稚的解决方案(例如,不检查向量中是否没有偶数)。

关于R,是否有任何函数能够搜索并仅返回符合向量/列表/矩阵行/列中某些内容的第一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22083810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com