我有一个数据帧,看起来像这样如何重复R中执行的函数多次
DF:
V1 V2 V3 V4 V5 V6 V7 V8
0 ss66369915 0 0 G A A A
0 ss66112992 0 0 A A A A
0 ss66369329 0 0 A A A A
0 ss66368644 0 0 A A A A
0 ss66368284 0 0 A A G A
0 ss66126380 0 0 A G A G
0 ss66407282 0 0 A A A A
0 ss66405035 0 0 A A A A
0 ss66405148 0 0 G G A G
0 ss66405271 0 0 G G G G
在V6列通过V9的数据是双等位基因的基因型,所以我想将每两列合并为一个。
例如,它看起来像:
V1 V2 V3 V4 V5_V6 V7 V8
0 ss66369915 0 0 GA A A
0 ss66112992 0 0 AA A A
0 ss66369329 0 0 AA A A
0 ss66368644 0 0 AA A A
0 ss66368284 0 0 AA G A
0 ss66126380 0 0 AG A G
0 ss66407282 0 0 AA A A
0 ss66405035 0 0 AA A A
0 ss66405148 0 0 GG A G
0 ss66405271 0 0 GG G G
我能做到这一点使用:
DF$V5_V6=paste(DF$V5, DF$V6, sep="")
or
within(DF, V5_V6 <- paste(V5, V6, sep=''))
但是我的实际数据帧由4776行,我会每两合并列从第5列开始到第4776列。
我想知道如何在没有手动操作的情况下实现这一点。我试图使用for循环没有成功。我很新使用R.
谢谢!
这看起来太棒了!并感谢你解释得很好!这正是我想要的。我将立即尝试并回复你! – user796484 2011-06-14 14:36:33
它工作完美!非常感谢!我正在尝试的循环在你所做的事情的某个地方,但我绝对不会像你所说的那样优雅。 – user796484 2011-06-14 14:57:34