【发布时间】:2015-10-01 15:48:03
【问题描述】:
我想创建一个新的分类变量来衡量学生是否是第一代大学生。
变量 X 是母亲的教育程度 1 = 低于 HS,2 = HS 或 GED,3 = BS/BA,4 = 硕士,5 = PHD
变量 Y 是父亲的教育程度,测量方式相同。
我想创建变量 Z,这样如果父母双方都没有收到超过学士学位或以上的任何东西,那么变量 Z 将为 1,如果不是,变量 Z 将为 0。
非常感谢!
【问题讨论】:
-
类似
DF$Z <- with(DF, +( max(X,Y) <= 3 )) -
@Frank 我猜你应该使用
pmax而不是max。另一种简洁的方式是DF$Z <-+(do.call(pmax,df)<=3) -
@nicola,这行得通。我正在修改@Frank,我写了
DF$Z <- 0 + (apply(DF, 1, max ) <= 3)。 -
@MartínEscarrá
apply应避免使用,因为它比pmax等矢量化函数慢。 -
@nicola 是的,你是对的。