[R-sig-eco] Recode several variables with conditions in a data frame

Bret Collier bret at tamu.edu
Wed Jul 4 05:37:16 CEST 2012


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 <bret at 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 at 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 at r-project.org
>> https://stat.ethz.ch/mailman/**listinfo/r-sig-ecology<https://stat.ethz.ch/mailman/listinfo/r-sig-ecology>
>>
>
>
>



More information about the R-sig-ecology mailing list