【发布时间】:2011-06-13 19:33:44
【问题描述】:
我有一个看起来像这样的数据框
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 很陌生。
谢谢!
【问题讨论】: