I`ve得到了下面的文件10行和13列(作爲一個例子,真實文件要大得多):雙迴路輸出到一個矩陣
ID1 A B C D E F G H A B C D
ID2 1 2 3 4 5 6 7 8 9 10 11 12
ID3 A B 1 2 C 1 2 D F R T G
...
我需要創建一個新的矩陣,輸入文件的8-13列放置在每4列(也有一個條件,但工作正常;問題是循環覆蓋輸出)。這裏是循環腳本:
data=read.table("input file", h=T)
out=matrix("NA",10,12)
for(i in c(1:10)){
for(k in seq(8,13,2){
for(s in seq(1,12,4){
for(q in seq(2,12,4){
out[i,s]=data[i,k]
out[i,q]=data[i,k+1]}}}}
不幸的是,循環覆蓋數據和輸出矩陣(命名爲「out」只有最後一列)。對於如何克服這個問題的任何建議,我將非常感激。我很樂意嘗試向量作爲循環可能不是最好的解決方案。
非常感謝!
爲清楚起見,你可以把所需的輸出爲說正好位於第一行還是兩個? – Gladwell
是的,對不起。這是輸入文件前3行所需的輸出:第一行:GH NA NA AB NA NA CD NA NA第二行:7 8 NA NA 9 10 NA NA 11 12 NA NA第三行:2 D NA NA FR不適用不適用不適用不適用(歉意格式不佳) – Tati
@Tati - 請編輯您的文章以包含該信息。評論很難閱讀。 – Parfait