gpt4 book ai didi

r - 如何有效地检查 R 中大向量的值?

转载 作者:行者123 更新时间:2023-12-01 13:51:53 25 4
gpt4 key购买 nike

我一直想在我的 R 代码中做的一件事是测试特定条件是否适用于向量,例如它是否包含等于某个指定值的任何或所有值。执行此操作的 Rish 方法是创建一个 bool 向量并使用 any 或 all,例如:

any(is.na(my_big_vector))
all(my_big_vector == my_big_vector[[1]])
...

分配一个大向量并用值填充它似乎真的很低效,只是为了扔掉它(特别是如果 any()all() 调用可以在仅测试几个值后短路。是否有更好的方法来执行此操作,或者我是否应该提交在 R 中工作时编写既高效又简洁的代码的愿望>?

最佳答案

便宜、快速、可靠:任选两个”是一种干巴巴的说法,表示在构建或设计系统时有时需要对优先级进行排序。

这里很相似:简洁表达的代价是内存是在幕后分配的。如果这确实是一个问题,那么您总是可以编写一个(已编译?)例程来(快速)沿着向量运行并且一次只使用一对值。

可以在内存使用、性能和表现力之间进行权衡,但很难同时兼顾这三者。

关于r - 如何有效地检查 R 中大向量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3160831/

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