Re: [R] simplifying the code

From: Jim Brennan <jfbrennan_at_rogers.com>
Date: Tue 28 Jun 2005 - 07:13:00 EST


This gives the same answer for what you have supplied so far...
> dat$d<-ifelse((dat$b-dat$a)>=1000,dat$b-dat$a+1,0)
> dat

   a b c d
1 1 1001 1001 1001
2 2 1001 0 0
3 3 1001 0 0
4 4 1001 0 0
5 1 1002 1002 1002
6 2 1002 1001 1001
7 3 1002 0 0
8 4 1002 0 0
9 1 1003 1003 1003
10 2 1003 1002 1002
11 3 1003 1001 1001
12 4 1003 0 0
13 1 1004 1004 1004
14 2 1004 1003 1003
15 3 1004 1002 1002
16 4 1004 1001 1001

-----Original Message-----
From: r-help-bounces@stat.math.ethz.ch
[mailto:r-help-bounces@stat.math.ethz.ch] On Behalf Of alex diaz Sent: June 27, 2005 4:54 PM
To: r-help@stat.math.ethz.ch
Subject: [R] simplifying the code

dear list:

I made some corrections in the previous post that had some mistakes.

I need help to achieve a simpler code to complete a task I'm performing.
here is an example:

dat<-expand.grid(a=seq(1,4),b=seq(1001,1004))

#I want to add a new column dat$c in that:

t1<-ifelse(dat$a==1&dat$b==1001,1001,0)
t2<-ifelse(dat$a==2&dat$b==1002,1001,0)
t3<-ifelse(dat$a==3&dat$b==1003,1001,0)
t4<-ifelse(dat$a==4&dat$b==1004,1001,0)
t5<-ifelse(dat$a==1&dat$b==1002,1002,0)
t6<-ifelse(dat$a==2&dat$b==1003,1002,0)
t7<-ifelse(dat$a==3&dat$b==1004,1002,0)
t8<-ifelse(dat$a==1&dat$b==1003,1003,0)
t9<-ifelse(dat$a==2&dat$b==1004,1003,0)

t10<-ifelse(dat$a==1&dat$b==1004,1004,0)

dat$c<-t1+t2+t3+t4+t5+t6+t7+t8+t9+t10

My real data frame is much larger... I hope someone can help me with this.

thanks for your help

  1. diaz

Email Enviado utilizando o servigo MegaMail

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Jun 28 07:18:05 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:33:03 EST