R用0替换其他向量元素

时间:2015-08-13 18:07:37

标签: r

假设您要有条件地替换向量的所有元素。例如:

a <- c("A","T","G","A")
b <- c(1,4,1,5)

我如何创建另一个向量c来替换b中的所有“非A”元素,用0表示?

期望的结果:

c <- c(1,0,0,5)

3 个答案:

答案 0 :(得分:4)

这是replace()的目的:

replace(b,a!='A',0);
## [1] 1 0 0 5

答案 1 :(得分:3)

b

中的条件复制c和子集a
c <- b
c[a!="A"] <- 0

答案 2 :(得分:3)

或另一条路线:

c=ifelse(a=="A",b,0)