附上一些R代码:
temp_df <- data.frame(c("A","A","A","G","G","Z","Z"),
c("B","D","E","R","S","Y","U"),
c(1.5,1.1,0.8,0.2,0.8,0.9,0.1),
c(0.8,0.4,1.5,1.2,1.2,0.2,0.3),
c(2.7,2.7,2.7,2.4,2.4,0.5,0.5),
c("YES","NO","NO","NO","NO","YES","YES"))
colnames(temp_df) <- c("PERSON_1","PERSON_2","VALUE_1",
"VALUE_2","TOTAL_2","DECISION_2")
我要做的是根据以下规则创建一个名为“NEW_DECISION_1”的新列:
对于第 1 列的人(“PERSON_1”),如果第 5 列的对应值(“TOTAL_2”)的值大于或等于 2.0,并且第 6 列的对应值中至少有一个“YES” (“DECISION_2”),那么“NEW_DECISION_1”列的值为“YES”,如果不满足这些条件,则它们将获得“NO”值。
因此,对于第 1 列中的 A 人,由于第 5 列中的值为 2.7,并且第 6 列中的相应值中至少有一个“是”,那么新列中的值将是“是”。
对于第 1 列中的 G 人,由于第 5 列中的值为 2.4,但由于第 6 列中相应值中没有“YES”值,因此新列中的值为“NO”。
对于第 1 列的 Z 人,由于第 5 列的值为 1.0,并且第 6 列的对应值中至少有一个“YES”,因此新列中的值为“NO”。所以新表将是:
temp_df$NEW_DECISION_1 <- c("YES","YES","YES","NO","NO","NO","NO")
temp_df
我正在考虑某种聚合规则,但我不确定使用什么函数来搜索“至少一个“是””。
如果您需要更多信息或澄清,请告诉我。