我遇到以下问题的问题(我是初学者,所以请放轻松一下):
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;在我的数据框架中,基于上述条件。有谁知道如何实现这个目标?
答案 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