問題是,有些時候我的數據沒有數字大於或等於5且小於80,或者有些時候我只有一個觀察,所以我可以' t執行t.test。我如何在循環中使用if語句,以便如果它沒有得到5到80之間的任何值或者只有一個觀察值,那麼它只使用NA
並且不執行t.test?R程序的固定代碼..另一個如果循環
0
A
回答
1
你可以在lapply裏放一個這樣的「try」塊。將結果初始化爲NA,如果它沒有遇到任何錯誤,它只會分配t.test結果。
data2 <- lapply(1:length(m), function(i) {
res = NA
try({
#you can put your other constraints here
if(length(m[[i]][[5]]) > 1) {
res = t.test(data1$Value,m[[i]][[5]])
}
}, silent=T)
res
})
2
德文是正確的。 R中的類型和長度並不總是按照您期望的數據框的方式工作。您應該可以使用nrow
或NROW
來獲得「長度」。如果一切都失敗了,你可以使用try
,但這總是讓我覺得很骯髒。
要知道肯定,但請按照馬修的要求提供一個例子。
相關問題
- 1. 更快的替代R for循環調用另一個循環的函數
- 2. 在R中的另一個循環內部循環
- 3. 一個循環內固定封閉
- 4. R:一個循環
- 5. 一個R編程,我們可以有,如果在for循環
- 6. For循環for另一個循環在R
- 7. 如何循環一個php代碼?
- 8. 循環在R程序
- 9. 在另一個循環中使用循環的結果
- 10. 嵌套在x86程序集的另一個循環中的兩個循環
- 11. 退出循環,如果另一個線程輸入在
- 12. 如何獲得一個for循環來對代碼while循環
- 13. 如何在循環中創建一個vbscript循環去代碼
- 14. 循環引用另一個工作表的保存代碼
- 15. R:在R中定義一個函數,包括for循環,如果條件爲
- 16. 環路另一個循環
- 17. 嘗試代碼一個小程序,畫一個帶有for循環的SierpinskiTriangle
- 18. R:擺脫循環和超速代碼
- 19. 如何讓一個循環重複另一個循環?
- 20. 如何退出一個循環到另一個循環?
- 21. 在R中一個循環
- 22. GUI循環和另一個循環
- 23. ForElse循環在另一個For循環
- 24. 固定WCF循環引用序列
- 25. Java - 循環,同時保持另一個代碼運行
- 26. 將嵌套循環的結果寫入R的另一個向量
- 27. 代碼樣式後,一個for循環
- 28. 代碼循環外執行第一個
- 29. 代碼放在一個無限循環
- 30. 重寫代碼在一個循環
請提供一個樣本數據集和此集合的所需輸出。這樣做可以讓撰稿人快速驗證結果並比較解決方案。 –
你的問題是空的數據框的長度不是零。測試'NROW(。)<2'。 –