我试图编写以下功能:
f <- function(q, r) {
for(i in seq(from = (1 - r), to = (r - 1), by = 1)){
s <- r + i;
if (q %% s == 0) {
here(s)
}
}
}
然而,我在这里&#34;在这里,&#34;我希望那些满足&#34所规定标准的s值;如果&#34;它上面的声明,以便我可以对它执行操作(取最大值和最小值,以及诸如此类),即形式的向量:
v&lt; - c(符合if语句规定标准的s的值)
我确定这是相对简单的,但这是我尝试在R中写的第一个函数,所以请耐心等待,如果可以的话。感谢。
答案 0 :(得分:1)
根据我在您的代码中的理解,您想要创建一个从(1-r+r)
到(r-1+r)
的向量,然后如果该向量的值可以被q整除,那么您想要应用一个函数它们。
我创建了一个仅满足条件的数字的向量(通过使用TRUE/FALSE
向量进行子设置),然后仅将函数应用于满足条件的那些。
我希望这段代码正确解释你的功能。
f <- function(q, r) {
s <- seq(1, 2*r-1, by=1)
ind <- ifelse(q %% s == 0, TRUE, FALSE)
result <- here(s[ind])
return(result)
}