我有一个测试向量,我可以在计算加权平均值之前为每个向量选择权重。R - ifelse条件查询
我有一个向量x = x
它是:0.97109891 1.02659028 0.05549137
以我功能,我执行此,该权重分配到一个新的向量:
newVec <- ifelse(x < 1, 1,
ifelse(((1 <= x) && (x < 2)), 0.5, 0))
的newVec作为返回:1 0 1
..
这意味着第二个条件是作为False
出现并返回0
当它应该是True
并返回1
。 (新载体应该是:1, 0.5, 1
似乎1 <= 1.0265902
)
我测试过它的程序之外和结果回来为真正的...所以,除非我的东西监督我不能工作了,为什么它不” t工作在功能...
任何帮助将是伟大的。提前致谢。
ifelse是矢量化的。与&&一起使用是没有意义的。你应该得到一个警告ix x大于1的长度,只有x的第一个元素被使用。 &而不是&&是矢量化的 – lebatsnok