我正在嘗試使用R來解決測驗,但是我的代碼無法正常工作。我嘗試過調試,但似乎ifelse語句無法工作在某些看似非常隨意的數字上。R:如何將ifelse語句用於字符向量
以下是問答:http://puzzles.nigelcoldwell.co.uk/six.htm
switches <- rep("off", 100)
for(i in 1:100){
k <- c(seq(i, 100, i))
ifelse(switches[k] == "off", switches[k] <- "on", switches[k] <- "off")
}
當我運行這段代碼,我得到 「的」 爲14,22,26,30,34,等我在其中應該有 「關」。在向帶矢量化索引的矢量應用ifelse語句的方式中是否有錯誤?
當我運行我的代碼時,我得到「on」爲1,4,9,16 ...,因爲它們應該是。問題是,我也在「不」的地方「開」。例如,14應該是「off」,但是它在我的代碼中是「on」。我想知道在我的代碼中是否存在邏輯缺陷,或者僅僅是我寫錯了語法。 – morty
@MinchulShin通過運行我的帖子中的代碼,它給出了「[1] 1 4 9 16 25 36 49 64 81 100」爲「on」值 – akrun
@MinchulShin此外,基於輸出,這可以是'switches [( 1:10)^ 2] < - 「on」' – akrun