為什么R對象不能在函數或“for”循環中打?。课矣幸粋€名為ddd的R矩陣。當我輸入這個,一切正常:i <- 1shapiro.test(ddd[,y])ad.test(ddd[,y]) stem(ddd[,y]) print(y)對Shapiro Wilk,Anderson Darling和stem的調用全部工作,并提取相同的專欄。如果我把這段代碼放在“for”循環中,那么對Shapiro Wilk和Anderson Darling的調用就會停止工作,而stem&leaf調用和打印調用將繼續工作。for (y in 7:10) {
shapiro.test(ddd[,y])
ad.test(ddd[,y])
stem(ddd[,y])
print(y)}The decimal point is 1 digit(s) to the right of the |
0 | 0
0 | 899999
1 | 0[1] 7如果我嘗試編寫一個函數,會發生同樣的事情。SW&AD不起作用。其他的電話呢。> D <- function (y) {+ shapiro.test(ddd[,y])+ ad.test(ddd[,y]) + stem(ddd[,y]) + print(y) }> D(9)
The decimal point is at the |
9 | 000
9 |
10 | 00000[1] 9為什么不是所有的調用都以相同的方式運行?
3 回答

搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
這不是一個新的答案,但除了上述之外:“flush.console()”是強制打印在循環期間而不是之后發生的必要條件。我在循環期間使用print()的唯一原因是顯示進度,例如,讀取許多文件。
for (i in 1:10) { print(i) flush.console() for(j in 1:100000) k <- 0}
- 3 回答
- 0 關注
- 1239 瀏覽
添加回答
舉報
0/150
提交
取消