如何在R中进行向量计算

时间:2016-12-01 07:25:38

标签: r

上一个代码:

x<-c(1:10)

我想创建新的向量y,其中x为偶数数字的x,-1为x的奇数元素。

示例:

x : 1 2 3 4 5
y : 0 3 2 5 4 

2 个答案:

答案 0 :(得分:2)

我们可以通过使用ifelse

创建逻辑索引来使用%%
ifelse(!x%%2, x+1, x-1)
#[1]  0  3  2  5  4  7  6  9  8 11

答案 1 :(得分:1)

你可以找到奇数和偶数,将它们从x和“做数学”中分配出来。

x <- c(0, 3, 2, 5, 4)

find.odd <- (x %% 2) == 1
find.even <- (x %% 2) == 0

x[find.odd] <- x[find.odd] - 1
x[find.even] <- x[find.even] + 1
x

[1] 1 2 3 4 5