[英]Create a formula using multiple conditions on multiple columns
I'm trying to create a new column using a formula making use of multiple conditions on multiple columns.我正在尝试使用在多个列上使用多个条件的公式创建一个新列。
This is an example of what I'm trying to do:这是我正在尝试做的一个例子:
df$new_column <- exp((0.17 if 10 ≤ df$column1 < 20) + (0.56 if 20 ≤ df$column1 <50) + (0.61 if 50 ≤ df$column1 < 88) +
(0.32 if 88 ≤ df$column1 ) + (0.12 if df$column2 == "a" ) + (0.24 if df$column2 == "b") + (0.34 if df$column2 == "c") +
0.87 + (0.22 if df$column3 == "a" ) + (0.89 if df$column4 == "a")+(0.65*((100 – df$column5)/10)) +
(0.23 if df$column6 == "a") + (0.12 if df$column6 == "b") + (0.55 * df$column7))
This solution seems to work:该解决方案似乎有效:
df$new_column <- exp(if_else(df$column1 >= 10 & df$column1 < 20, 0.17, 0) + if_else(df$column1 >= 20 & df$column1 < 50, 0.56, 0) +
if_else(df$column1 >= 50 & df$column1 < 88, 0.61, 0) + if_else(df$column1 >= 88, 0.32, 0) +
if_else(df$column2 %in% "a", 0.12, 0) + if_else($df$column2 %in% "b", 0.24, 0) +
if_else(df$column2 %in% "c", 0.34, 0) + 0.126 + if_else(df$column3 %in% "a", 0.22, 0) +
if_else(DatiUsati1$df$column4 %in% "a", 0.89, 0) + 0.066 * ((170 - df$column5)/10) +
if_else(df$column6 %in% "a", 0.23, 0) +
if_else(df$column6 %in% "b", 0.12, 0) + 0.01 * df$column7))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.