说我们有一些载体:
someVector = c(1, 3, 4, 6, 3, 9, 2, -5, -2)
我想得到一个矢量,其中所有奇数元素的位置都在someVector
所以在这种情况下,它看起来像......
resultVector = c(1, 2, 5, 6, 8)
答案 0 :(得分:11)
> which(someVector %% 2 == 1)
[1] 1 2 5 6 8
答案 1 :(得分:6)
library(schoolmath)
which(is.odd(someVector))
[1] 1 2 5 6 8
这里只是为了获得is.odd
函数的代码:
function (x)
{
start <- 1
end <- length(x) + 1
while (start < end) {
y <- x[start]
if (y == 0) {
cat("Please enter a number > 0")
end
}
test1 <- y/2
test2 <- floor(test1)
if (test1 != test2) {
if (start == 1) {
result = TRUE
}
else {
result <- c(result, TRUE)
}
}
else {
if (start == 1) {
result = FALSE
}
else {
result <- c(result, FALSE)
}
}
start <- start + 1
}
return(result)
}
当然,不要使用此功能!