将数字变量更改为分类变量?

Changing numeric variable to categorical variable?

我是一名金融专业的学生,​​过去几周一直在 R 中玩耍(这里是 Rookie..)。
问题:我有两个数值变量:A 和 B。我想将它们转换成一个绝对变量 C。C 取以下值:
1 如果 A 和 B 都得分最高的十分之一 - 或分布的五分位数。
0 否则

有谁知道如何实现这一点?提前致谢!

如果我理解你的意思,你可以使用这个功能:

    get_categorical = function(A,B,decile=9){
      da = as.numeric(quantile(A,probs=seq(0.1,0.9,by=0.1)))[decile];
      db = as.numeric(quantile(B,probs=seq(0.1,0.9,by=0.1)))[decile];
      categ = ifelse(A>=da & B>db,1,0);
      return (categ);
    }

现在您可以将 A 和 B 设置为参数:

get_categorical(A,B)

希望对您有所帮助。