我需要根据两个因素创建一个二分法变量(一个希望它是可能的)。
假设我有数据:
d <- data.frame (
agegroup = c(2,1,1,2,3,2,1,3,3,3,3,3,1,1,2,3,2,1,1,2,1,2,2,3) ,
gender = c(2,2,2,2,2,2,1,2,1,1,1,2,1,1,2,2,1,1,1,1,2,1,1,1) ,
hourwalking = c(0.3,0.5,1.1,1.1,1.1,1.2,1.2,1.2,1.3,1.5,1.7,1.8,2.1,2.1,2.2,2.2,2.3,2.4,2.4,3,3.1,3.1,4.3,5)
)
我想使用特定于性别和年龄组的中位数(例如,当年龄组 = 1 和性别 = 1 时,中位数 = 2.1(使用 excel 找到中位数))创建一个二进制(LowWalkHrs)。LowWalkHrs 将是数据集中的一个添加变量,因此输出将是:
agegroup gender hourwalk LowWalkHrs
2 2 0.3 1
1 2 0.5 1
1 2 1.1 0
2 2 1.1 1
3 2 1.1 1
2 2 1.2 0
1 1 1.2 1
....
3 1 5 0
我有一个相当大的数据集(~10k 观察),所以 Excel 是不可能的。
在 R 中,我尝试了 cut 和 cut2,它似乎不采用因子变量,以及 ddply,它给了我一个错误消息(错误消息($<-.data.frame
“ *tmp*
lowWalkHrs”,value = list(hourwalking = c(0.63, :替换有949行,数据有11303)。