r的新手。我有:
> > age <- function(Age) {
> + answer<-NULL
> + if(Age<15) answer<-"under 15"
> + else if(15<=Age&&Age<=50) answer<-"15 to 50"
> + else answer<-"over 50"
> + answer
> + }
> > titanic_3 <- titanic %>%
> + select(Survived, Pclass, Age, Sex) %>%
> + filter(!is.na(Age)) %>%
> + mutate(agecat=age(Age)) Warning message: In if (Age < 15) answer <- "under 15" else if (15 <= Age && Age <= : the condition has
> length > 1 and only the first element will be used
> >
如果我使用一个 & 而不是 &&,我会收到两个警告。我知道其中之一是因为捷径。
我如何编写此函数以消除警告消息?
谢谢
编辑:我试过:
age <- function(Age) {
answer<-NULL
if(Age<15) answer<-"under 15"
else if(Age<=50) answer<-"15 to 50"
else answer<-"over 50"
answer
}
并收到更多警告:
Warning messages:
1: In if (Age < 15) answer <- "under 15" else if (Age <= 50) answer <- "15 to 50" else answer <- "over 50" :
the condition has length > 1 and only the first element will be used
2: In if (Age <= 50) answer <- "15 to 50" else answer <- "over 50" :
the condition has length > 1 and only the first element will be used
这个似乎可行,但他们希望我们使用 cut。
age2 <- function(Age) {
ifelse(Age<15,"under 15",ifelse(Age<=50,"15 to 50","over 50"))
}