r - R:使用控制结构“for”创建一个函数
问题描述
我想创建一个函数,它有一个向量 (v) 和一个数字 (n),分析“v”的任何数字是否可以被“n”整除,如果是,则该函数将具有结果真的'。我怎么能使用控制结构'for'呢?
到目前为止,我已经使用“while”运算符解决了这个问题:
function.while <- function(v, n){
while (n %% v == 0)
return (TRUE)
}
但我无法完全理解“for”的逻辑。
谢谢。
解决方案
您可以使用for
如下循环:
function.for <- function(v, n){
result <- logical(length(v))
for(i in seq_along(v)) {
result[i] <- v[i] %% n == 0
}
return(result)
}
function.for(1:10, 2)
#[1] FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE
但是,这是矢量化操作,您不需要for
循环。
function.vectorized <- function(v, n){
v %% n == 0
}
function.vectorized(1:10, 2)
如果要检查any
值是否存在。
function.vectorized <- function(v, n){
any(v %% n == 0)
}
推荐阅读
- pgadmin - pgadmin 4 v5 启动问题
- c# - 如何在 C# 中将小数显示为 %
- python - 如何使用 Pandas、Numpy 加速 Python 中的嵌套 for 循环逻辑?
- numpy - 在 Pyomo 目标中使用 numpy 通用函数
- json - 火花跳过带有空值的json属性
- java - 用 SWING 在 java 中显示多张图片,并将它们分别放在同一个窗口中
- cypress - 如何在运行赛普拉斯测试时跳过 JavaScript 错误
- android - 将json传递给cakephp后端android studio
- c# - C# Ninjascript - NinjaTrader 8 (NT8) - 获取事件时间和日期的代码,然后在文本框中的图表上显示
- python - 使用 pycharm 在 googlemaps 上绘图