根据条件执行两个单独的代码

时间:2014-12-05 13:26:34

标签: r if-statement

我遇到以下问题的问题(我是初学者,所以请放轻松一下):

COW$id<- (COW$tcode1*1000 + COW$tcode2)
COW$id<- (COW$tcode2*1000 + COW$tcode1)

我希望在tcode1(COW数据帧中的变量)的值小于tcode2(tcode1&lt; tcode2)的条件下执行第一行代码,我想要如果tcode1大于tcode2(tcode1&gt; tcode2),则执行第二行代码。我正在寻找的最终结果是一个列&#34; ID&#34;在我的数据框架中,基于上述条件。有谁知道如何实现这个目标?

1 个答案:

答案 0 :(得分:4)

COW = data.frame(tcode1=c(5,7,18,9),tcode2=c(4,15,8,10))
head(COW)

  tcode1 tcode2
      5      4
      7     15
     18      8
      9     10

id = ifelse(COW$tcode1<COW$tcode2,
            COW$tcode1*1000 + COW$tcode2,
            COW$tcode2*1000 + COW$tcode1)

COW = data.frame(id=id,COW)
head(COW)

  id tcode1 tcode2
4005      5      4
7015      7     15
8018     18      8
9010      9     10