2014-10-05 220 views
-4

我有一个数据帧,它有2列 - A & B.我想用这样一种方式替换列B的值,即当VALUE>=5替换为1时,否则换成0
注 -有2个条件进行检查。R - 有条件地替换数据帧中的列值

X=read.csv("Y:/impdat.csv") 

A B 
3 16 
12 3 
1 2 
12 9 
4 4 
5 6 
21 1 
4 14 
3 10 
12 1 

所以更换后,该数据应该是

A B 
3 1 
12 0 
1 0 
12 1 
4 0 
5 1 
21 0 
4 1 
3 1 
12 0 

听起来很简单。但我无法执行它。
我试图

ifelse(X$B>=5,1,0) 

仅打印新的价值观,但原始数据保持不变。

+3

是很简单的。提示:'ifelse'。 – agstudy 2014-10-05 16:52:12

+0

@agstudy我试过了,但只打印值,并不会改变数据框X – 2014-10-05 17:12:43

回答

2
X$B <- as.integer(X$B >= 5) 

会做的伎俩。

+0

这只会条件 – 2014-10-05 17:46:37

+1

@BalajiSuresh什么是第二个条件1满足?请说明预期的结果。 – 2014-10-05 17:47:44

+0

应该由0 – 2014-10-05 17:52:49

0

明白了。 只需分配对象。

X$B=ifelse(X$B>=5,1,0)