我正在编写我的第一个函数(包括任何其他编程语言),我对if
,else
和ifelse
. 我搜索了很多例子,但没有一个对我来说很清楚。
情况 - 我正在尝试根据客户成为客户的时间来衡量客户,然后将其转化为一个因素。
#Sample Data
clientID <- round(runif(2,min=2000, max=3000),0)
MonthsSinceSignUp <- round(runif(20,min=1, max=60),0)
df <- data.frame(cbind(clientID,MonthsSinceSignUp))
对于给定的客户,我想确定他们是否已经这样做了不到一年,超过一年,但不到 2 年,等等。
这是我第一次破解函数:
ClientAgeRange <- function(MonthsSinceSignUp) {
if (MonthsSinceSignUp < 13) {ClientAgeRange <- '1 year'}
} else {
if (MonthsSinceSignUp > 13 & MonthsSinceSignUps < 25) {ClientAgeRange <- '2 years'}
} else {ClientAgeRage <- '3+ years'}
我不断收到的错误是:
Error: unexpected '}' in "}"
,这表明我缺少或有一个额外的右括号。但是,尽管我遇到了麻烦,但我找不到它。但是 - 我认为总的来说,我没有将正确的结构应用于函数。我正在尝试制作一个if this, then set this variable as that
. 如何正确构建此功能?
最后 - 如果我想将函数的输出添加到dataframe
,这样做是apply
正确的方法吗?