【发布时间】:2019-09-07 06:36:33
【问题描述】:
假设我有一个看起来像这样的 for 循环。
person <- c("Mike", "Kim", "Fred", "Steve", "Quail", "bean")
sleep <- c(5, 10, 3, 7, 1, 5)
dat <- data.frame(person, sleep)
for (i in 1:length(dat$person)) {
if (dat$sleep[i] >= 7) {
dat$fatigue[i] <- 0
}
if (dat$sleep[i] > 5 & dat$sleep[i] < 7) {
dat$fatigue[i] <- 1
}
if (dat$sleep[i] >= 3 & dat$sleep[i] <= 5) {
dat$fatigue[i] <- 2
}
if (dat$sleep[i] < 3) {
dat$fatigue[i] <- 3
}
}
如何使用 R 的应用功能编写带有 if 语句的 for 循环?
我对使用它比较陌生,如果有任何帮助,我们将不胜感激。
如果您有任何问题,请告诉我。
谢谢。
【问题讨论】:
-
你有
>=3 & <=5然后>5 & <7是故意的吗?如果没有,那么?cut可能值得一看 - 例如-cut(sleep, c(0,3,5,7,Inf))
标签: r for-loop apply lapply sapply