我试图通过在数据框中创建一列来在R中完成一个简单的任务,该列将包含前一个列的数据,该列大于一个值。下面的代码给我一些(错误)奇怪的结果。
set.seed(20)
x=round(runif(10),2)
y=round(runif(10),2)
df=data.frame(x=x,y=y)
df<-transform(df, w=ifelse(df$y>0.4, df$y[df$y>0.4], 0))
df
结果是
x y w
1 0.88 0.72 0.72
2 0.77 0.76 0.76
3 0.28 0.00 0.00
4 0.53 0.74 0.45
5 0.96 0.19 0.00
6 0.98 0.45 0.72
7 0.09 0.32 0.00
8 0.07 0.11 0.00
9 0.33 0.29 0.00
10 0.37 0.82 0.82
上为什么柱任何建议w
不对应于y>0.4
与它们显示出混合的结果?