作者anyonred (任意紅)
看板R_Language
標題[問題] for迴圈不會寫
時間Tue Mar 21 20:46:41 2017
題目是
# 請計算Petal.Length在三種Species的平均值
# 請將三種結果分別存到一個named list之中
# list elements 的名稱對應到類別,包含的值則代表對應的Species在Petal.Length的
平均值
# 可以參考後面`stopifnot`的提示
answer2 <- local({
for name in names(iris$Species){iris$Species(name)<-mean(Petal.length(name))
})
(上面這段是我自己寫的,但我不清楚我錯在哪裡,希望有人可以跟我說下)
stopifnot(is.list(answer2))
stopifnot(length(answer2) == 3)
stopifnot(names(answer2) == c("setosa", "versicolor", "virginica"))
local({
for(name in unique(iris$Species)) {
stopifnot(is.numeric(answer2[[name]]))
stopifnot(length(answer2[[name]]) == 1)
}
})
其實stopifnot我看沒有懂,我初學dataframe一段時間 ,希望有人可以教我寫這題
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.214.33
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1490100404.A.2E1.html
推 Wush978: 等等,這是我出的作業吧... XD 03/21 23:24
→ Wush978: 你的for後面要有一對括號: 03/21 23:25
→ Wush978: 像是這樣: 03/21 23:25
→ Wush978: for(name in names(iris$Species)) { ... } 03/21 23:26
→ Wush978: 不過這題不用for也可以做,就乖乖的一行一行寫程式就好 03/21 23:26
→ Wush978: 我記得寫個四、五行就可以了 03/21 23:26
推 eco100: 被老師捉包 XDDDDD 03/22 16:25