我想知道如何简单地创建一个虚拟变量。我在假人上发现了许多类似的问题,但它们要么基于一些外部软件包,要么基于技术。
我有这样的数据:
df <- data.frame(X=rnorm(10,0,1), Y=rnorm(10,0,1))
df$Z <- c(NA, diff(df$X)*diff(df$Y))
Z 在 df 中创建一个新变量,即 X 变化和 Y 变化的乘积。现在我想在 df 中创建一个虚拟变量 D,如果:Z < 0 则 D==1,如果 Z >0 则 D== 0。
我尝试过这种方式:
df$D <- NA
for(i in 2:10) {
if(df$Z[i] <0 ) {
D[i] ==1
}
if(df$Z[i] >0 ) {
D[i] ==0
}}
这是行不通的。我想知道为什么上面的代码不起作用(通过简单的方法),以及如何在 R 中创建虚拟变量而不使用任何外部包,只需一点解释。