我试图在dplyr中使用mutate创建一个条件变量,这似乎不适合我。请参阅我尝试创建的示例数据帧和组合得分变量。请注意,新变量的第3次观察结合了.score'不是B,C和D的总和。似乎只计算了第一个观测值,并且该值用于每行观测。
我在这里缺少什么?想了解为什么会发生这种情况的原因(不是那么多替代代码或解决方案)
${zookeeper.cluster.port}
答案 0 :(得分:4)
ifelse
的文档说:
ifelse返回一个与test
相同形状的值
此处test
为"B" %in% names(df) & "C" %in% names(df) & "D" %in% names(df)
,返回1元素向量
[1] TRUE
因此,ifelse
调用返回一个只包含B + C + D
的第一个元素的1元素向量,然后在整个向量中回收。