R中replace函数中的问题

R中replace函数中的问题,r,vector,replace,R,Vector,Replace,我有一个向量: > a <- c(0,1,2,3,4) 3和5都将转换为4 当我再次尝试用3代替2时,同样的情况也会发生 > replace(a,a==2,3) [1] 0 1 3 3 4 有人能指出我做错了什么吗?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 所以,当你认为你已经把a中的4转

我有一个向量:

> a <- c(0,1,2,3,4)
3和5都将转换为4

当我再次尝试用3代替2时,同样的情况也会发生

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

有人能指出我做错了什么吗?

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
所以,当你认为你已经把a中的4转换成了5时,你没有。如果要更改
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
是最好的]

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
所以,当你认为你已经把a中的4转换成了5时,你没有。如果要更改
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
是最好的]

您在寻找什么a@waterling:谢谢!你在找什么a@waterling:谢谢!