【发布时间】:2019-12-24 23:40:15
【问题描述】:
以下是我的数据
y r1 r2 r3
1 0.1 0.2 -0.3
2 0.7 -0.9 0.03
3 -0.93 -0.32 -0.22
1.第一个问题是我怎样才能得到这样的输出:
y r1 r2 r3 dummy_r1 dummy_r2 dummy_r3
1 0.1 0.2 -0.3 0 0 1
2 0.7 -0.9 0.03 0 1 0
3 -0.93 -0.32 -0.22 1 1 1
注意:我希望负数据等于1,正数据等于0
2.第二个问题是,如果我想像lm(y~r1+r2+r3+dummy_r1+ dummy_r2+dummy_r3)那样做回归,如果我不想使用上面的输出data(dummy_r1,dummy_r2,dummy_r3)怎么办,因为不方便。
【问题讨论】:
-
1)
sapply(data[2:4], function(x) as.integer(x < 0))。 2) 在cbind(data, output_of_previous)之后只做lm(y ~ ., data)。 -
你可能真的不需要生成虚拟变量:
lm(y~r1+r2+r3+(r1<0) +(r2<0)+(r3<0)...)就可以了。
标签: r regression dummy-variable