【发布时间】:2021-08-11 10:20:40
【问题描述】:
我有一个用 R 编写的函数。基本上我是根据其值将函数应用于数据框列。谁能帮帮我?..................................
asd <- data.frame(a = c("High Impact", "High Impact", "Medium Impact"),
b = c("High Impact", "No Impact", "High Impact"),
c = c("Low Impact", "No Impact", "Medium Impact"))
final_score <- function(q1,q2,q3){
# ifelse(c == "A", "Low", "High")
if (q1 == "Not Applicable") {
q1_value = 0
} else if (q1 == "No Impact") {
q1_value = 0
} else if (q1 == "Low Impact") {
q1_value = 1
} else if (q1 == "Medium Impact") {
q1_value = 2
} else if (q1 == "High Impact") {
q1_value = 3
}
if (q2 == "Not Applicable") {
q2_value = 0
} else if (q2 == "No Impact") {
q2_value = 0
} else if (q2 == "Low Impact") {
q2_value = 1
} else if (q2 == "Medium Impact") {
q2_value = 2
} else if (q2 == "High Impact") {
q2_value = 3
}
if (q3 == "Not Applicable") {
q3_value = 0
} else if (q3 == "No Impact") {
q3_value = 0
} else if (q3 == "Low Impact") {
q3_value = 1
} else if (q3 == "Medium Impact") {
q3_value = 2
} else if (q3 == "High Impact") {
q3_value = 3
}
fs = q1_value + q2_value + q3_value
return(fs)
}
###Expected output
asd$new <- final_score(asd$a,asd$b,asd$c)
a b c new
1 High Impact High Impact Low Impact 7
2 High Impact No Impact No Impact 3
3 Medium Impact High Impact Medium Impact 7
我有一个用 R 编写的函数。基本上我是根据其值将函数应用于数据框列。谁能帮帮我?..................................
【问题讨论】: