作者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://webptt.com/cn.aspx?n=bbs/R_Language/M.1490100404.A.2E1.html
1F:推 Wush978: 等等,这是我出的作业吧... XD 03/21 23:24
2F:→ Wush978: 你的for後面要有一对括号: 03/21 23:25
3F:→ Wush978: 像是这样: 03/21 23:25
4F:→ Wush978: for(name in names(iris$Species)) { ... } 03/21 23:26
5F:→ Wush978: 不过这题不用for也可以做,就乖乖的一行一行写程式就好 03/21 23:26
6F:→ Wush978: 我记得写个四、五行就可以了 03/21 23:26
7F:推 eco100: 被老师捉包 XDDDDD 03/22 16:25