2017-01-20 41 views
0

我有一個向量:問題在替換功能中的R

> a <- c(0,1,2,3,4) 

我試圖加1的那個值來代替它的價值,象下面這樣:

a <- (1,2,3,4,5) 
> replace(a,a==4,5) 
[1] 0 1 2 3 5 

但當我嘗試用4替換3時,出現了一些問題

replace(a,a==3,4) 
[1] 0 1 2 4 4 

這兩個3和d 5越來越轉換爲4

,並當我再次嘗試更換2連3,同樣的情況

> replace(a,a==2,3) 
[1] 0 1 3 3 4 

有人能指出我在做什麼錯在這裏?

+5

你找誰對於<-a + 1? – Jean

+0

@waterling:謝謝! – Praveen

回答

2

replace不改變它的論點。

> a = c(0,1,2,3,4) 
> replace(a,a==2,99) 
[1] 0 1 99 3 4 

a仍然是相同的:

> a 
[1] 0 1 2 3 4 

所以當你以爲你會轉換的4到5在a你沒有。如果你想改變a使用返回值:

> a 
[1] 0 1 2 3 4 
> a = replace(a,a==2,99) 
> a 
[1] 0 1 99 3 4 

[正如在評論中指出,有更好的方法,以1添加到矢量的所有值,a=a+1是最好的]

+0

明白了!謝謝! – Praveen