我是一名金融专业的学生,过去几周一直在R里玩(Rookie在这里......)
问题:我有两个数字变量:A和B.我想在一个导数变量C中转换它们.C取以下值:
1如果A和B都得分最高十分位数 - 或分布的五分位数
0否则
有谁知道如何实现这个?提前谢谢!
答案 0 :(得分: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)
希望它有所帮助。