我已经发布了类似的问题之前,并得到了一个快速的答案,但只是一个R初学者,并没有能够适应我所需要的。更改数据根据条件在R
基本上我想采取下面的代码(如果Date_Index介于两个数字之间,并且df是< X,那么将df转换为Y)并且使其仅适用于满足特定条件的条目,即:
拥有:df[df$Date_Index >= 50 & df$Date_Index <= 52 & df < .0000001]=1
地址:if df$Date_Index <= 49 AND df = 0.00 ignore the above statement, else execute:
换句话说,我需要相当于一个如果,那么,else子句。如果Date_Index <= 49 and df = 0
,独自离开,否则,如果Date_Index >=50 and Date Index <= 52 and df < .001
然后用1
这个(简单的)数据集替换数据(日期索引行50-52)应说明它足够的:
xx <- matrix(0,52,5)
xx[,1]=1
xx[,3]=1
xx[,5]=1
xx[50:52,]=0
xx[,1]=1:52
xx[50,3]=1
所以我” d是第2列和第4列保持全0,但第3列和第5列的底部继续全部为1。
你拥有了不看的权利。似乎你想索引行,但你是索引元素。另外,您不是索引变量B,而是索引* entire *数据框(df <.0000001),并且不引用要分配给的变量Y.这就是为什么我们要求可重复的例子,因为我没有看到甚至有什么工作。因此很难进入下一步并添加额外的子句。请参考前面的问题,或者在这里添加一个完整的,小的,可重现的例子。 –
我想你错过了应该比较的那块df。 df <.0000001。 另外。用df = 0.0时要非常小心;我希望你知道df == 0.0和df = 0之间的区别。一个很好的诀窍是在怀疑时写入0 == df –
对不起,由于数据隐私问题,无法共享我的代码,我尝试编辑原始问题以帮助解释我需要if,then,else子句的语法。对不起,如果我很困惑,但我很欣赏你的时间。 – Austin