R IF-ELSE函数在简单情况下工作,但我的扩展函数不工作
我正在尝试创建函数来计算数字,并根据设置的条件将它们添加到类别中 我写了一个“愚蠢”的函数,有很多重复和行,可以在一个简单的情况下解决这个问题:R IF-ELSE函数在简单情况下工作,但我的扩展函数不工作,r,R,我正在尝试创建函数来计算数字,并根据设置的条件将它们添加到类别中 我写了一个“愚蠢”的函数,有很多重复和行,可以在一个简单的情况下解决这个问题: # Findgroup (Everything manually typed out) # Purpose of function: #If 1 or 2: output A #If 3 or 4: output B #If 5 or 6: output random A/B (bonus if this can be balanced equally
# Findgroup (Everything manually typed out)
# Purpose of function:
#If 1 or 2: output A
#If 3 or 4: output B
#If 5 or 6: output random A/B (bonus if this can be balanced equally over the dataset)
# Else output "error"
findGroup <- function(x){ if (x == 1) {
"A"
} else if (x == 2) {
"A"
} else if (x == 3) {
"B"
} else if (x == 4) {
"B"
}else if (x == 5) {
sample(c("sA","sB"),1)
}else if (x == 6) {
sample(c("sA","sB"),1)
} else {
"Error"
}}
# Brief test: All matches expectations
findGroup(1) # Returns A
findGroup(3) # Returns B
findGroup(5) # Samples
findGroup(7) # Returns Error
#Findgroup(所有内容均手动输入)
#职能的目的:
#如果1或2:输出A
#如果3或4:输出B
#如果5或6:输出随机A/B(如果可以在数据集上平均平衡,则为奖励)
#Else输出“错误”
findGroup使用%
中的%检查多个值
findGroupNew <- function(x) {
if (x %in% 2:6) {
return("A")
} else if (x %in% 10:16) {
return("B")
} else if (x %in% c(1, 9)) {
return(sample(c("sA","sB"),1))
} else {
return("Error")
}
}
findGroupNew(1)
#[1] "sB"
findGroupNew(3)
#[1] "A"
findGroupNew(11)
#[1] "B"
findGroupNew(7)
#[1] "Error"
findGroupNew
findGroupNew <- function(x) {
if (x %in% 2:6) {
return("A")
} else if (x %in% 10:16) {
return("B")
} else if (x %in% c(1, 9)) {
return(sample(c("sA","sB"),1))
} else {
return("Error")
}
}
findGroupNew(1)
#[1] "sB"
findGroupNew(3)
#[1] "A"
findGroupNew(11)
#[1] "B"
findGroupNew(7)
#[1] "Error"