R 按字母顺序合并列

R 按字母顺序合并列,r,merge,genetics,R,Merge,Genetics,我有4列要合并 CHR POS EFFECT_ALLELE NON_EFFECT_ALLELE 1 124 A C 5 378 C T 3 398 T C 3 564 G A 我希望它们以以下方式合并: CHR:POS:EFFECT\u等位基因:NON\u EFFECT\u等位基因 然而,我希望“效应等位基因:非效应等位基因”按字母顺序合并 因此,对

我有4列要合并

CHR POS EFFECT_ALLELE NON_EFFECT_ALLELE
1   124 A             C           
5   378 C             T  
3   398 T             C  
3   564 G             A  
我希望它们以以下方式合并:
CHR:POS:EFFECT\u等位基因:NON\u EFFECT\u等位基因

然而,我希望“效应等位基因:非效应等位基因”按字母顺序合并

因此,对于上面的行,它将是:

1:124:A:C  
5:378:C:T  
3:398:C:T  
3:564:A:G  
因此,对于上面的第三个和第四个例子,它必须是“非效应等位基因:效应等位基因”

有谁能帮我把“非效应等位基因”和“效应等位基因”按字母顺序合并编码吗


提前感谢!

我们可以先对数据进行排序,然后粘贴

df1[3:4] <- t(apply(df1[3:4], 1, sort))
do.call(paste, c(df1, sep=":"))
#[1] "1:124:A:C" "5:378:C:T" "3:398:C:T" "3:564:A:G"

我们可以先对数据进行
排序
,然后进行
粘贴

df1[3:4] <- t(apply(df1[3:4], 1, sort))
do.call(paste, c(df1, sep=":"))
#[1] "1:124:A:C" "5:378:C:T" "3:398:C:T" "3:564:A:G"