我有一个氨基酸位点的数据框,并且想要为这些位点的每个成对组合创建一个新的数据框。将R中数据框中的每对列粘贴在一起?
的原始数据将是这个样子:
df<-cbind(letters[1:5], letters[6:10], letters[11:15])
df
[,1] [,2] [,3]
[1,] "a" "f" "k"
[2,] "b" "g" "l"
[3,] "c" "h" "m"
[4,] "d" "i" "n"
[5,] "e" "j" "o"
什么,我想是这样的:
newdf<-cbind(paste(df[,1],df[,2],sep=""),paste(df[,1],df[,3],sep=""),(paste(df[,2],df[,3],sep="")))
newdf
[,1] [,2] [,3]
[1,] "af" "ak" "fk"
[2,] "bg" "bl" "gl"
[3,] "ch" "cm" "hm"
[4,] "di" "dn" "in"
[5,] "ej" "eo" "jo"
的实际数据可能有数百个行和/或列的,所以很明显我需要一个较少的手动方式来做到这一点。任何帮助非常感谢,我只是一个谦虚的生物学家,我在这方面的技能是相当有限的。
您是否希望只有与您的数据框相同的订单对?也就是说,为什么你的第一排不是“fa”或“ka”? – 2012-07-30 23:54:56
谢谢,在身份方面,顺序并不重要,即“fa”=“af”,但是,对应与数据框的顺序相同,如示例 – 2012-07-30 23:58:53