Not very elegant or efficient, but for only a couple of columns needing left out something simple like this should work.

xx=data.frame(x=c(2, 10), y=c(2, 0), z=c(4, 3))
yy=xx[,2:3]
yy[yy!=0]=1
data.frame(x=xx[,1], yy)

bret



On 7/3/2012 9:18 PM, Manuel Spínola wrote:
Thank you Bret.

What if I need to leave out some variables from my data frame.  I have 22
variables and I need to leave the 2 first variables out of the condition.

Best,

Manuel

2012/7/3 Bret Collier <b...@tamu.edu>

Manuel,
Something like this should work for your example.

xx=data.frame(x=c(2, 10), y=c(2, 0))
xx[xx!=0]=1
xx
   x y
1 1 1
2 1 0

Bret


On 7/3/2012 8:12 PM, Manuel Spínola wrote:

Dear list members,

I want to recode a data frame but do it for several variables at the same
time.  I want to give all the values > or equal than 1 a value of 1 and
all
the remaining values (0) keep in 0.

data.frame: newdf

var1 var2 var3 var4
A       1      0     4
B       3      2     1
C       0      5     1

My real data frame has several more variables.

I am using the recode function from the epicalc package:

  recode(vars=newdf[, 2:4], old.value= newdf[, 2:4] >= 1, new.value=1)


Error en recode.default(vars = newdf[, 2:4], old.value = newdf[, 2:4] >=
  :
    objeto '.data' no encontrado

I guess I am not setting the condition in a proper way.

Best,

Manuel



______________________________**_________________
R-sig-ecology mailing list
R-sig-ecology@r-project.org
https://stat.ethz.ch/mailman/**listinfo/r-sig-ecology<https://stat.ethz.ch/mailman/listinfo/r-sig-ecology>


______________________________**_________________
R-sig-ecology mailing list
R-sig-ecology@r-project.org
https://stat.ethz.ch/mailman/**listinfo/r-sig-ecology<https://stat.ethz.ch/mailman/listinfo/r-sig-ecology>





_______________________________________________
R-sig-ecology mailing list
R-sig-ecology@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-ecology

Reply via email to