2
我希望將由我的for循環生成的結果傳遞到一個data.frame
。因此,我創建了一個空data.frame這樣的:讓一個for循環將所有結果添加到現有數據。框架
result <- data.frame(matrix(ncol = 8, nrow = 1))
,然後匹配列的名稱與data.frame
的名字,這是會被搜索:
names(result) <- names(example)
我換循環應遍歷值列表並檢查輸入data.frame
是否符合條件的值,然後將該值的整行添加到我的空值中data.frame
lpos
[1] 5
for(i in lpos){
indx <- sapply(example[,4], function(x) (x > minpos[i]) & (x < maxpos[i]))
newrow <- example[indx,]
result = rbind(result, newrow)
}
所以我的預期輸出是我得到了data.frame
,包含所有結果。但似乎這個代碼每次都會覆蓋添加的行,而我剛剛獲得了保存在我的data.frame
中的最後一次迭代。
我能做些什麼來防止這段代碼覆蓋現有的結果? 所以我的數據是這樣的:
> head(example[1:4,-9])
V1 V2 V3 V4 V5 V6 V7 V8
1 Spenn-ch00 AUGUSTUS mRNA 5691 9072 0.84 - .
2 Spenn-ch00 AUGUSTUS mRNA 11246 12192 0.17 - .
3 Spenn-ch00 AUGUSTUS mRNA 12799 15702 0.33 - .
4 Spenn-ch00 AUGUSTUS mRNA 15752 18482 0.48 - .
爲什麼在循環中使用'O',很容易被誤讀爲0。 – zx8754
將其改爲'i' – JadenBlaine
請將'head(example)'或'dput(example)'的輸出添加到帖子中,以便我們瞭解您的數據。可能你可以避免循環altogther。 – zx8754