我有一列包含 17000 个值的列,我想按它们的范围将它们分为 48 个组(将 SIC 代码分类为 Fama French 行业)。
df$SIC
[1] 5080 4911 7359 2834 3674 6324 2810 4512 4400 6331 3728 3350 2911 2085 7340 6311 6199 6321 2771 3844 2870 3823 2836 3825
我能想到的唯一方法是编写一堆 if then 语句并将它们全部放在一个 for 循环中。但是,这将需要永远运行。
for(i in c(1:(dim(df)[1])){
if(df$SIC[i] >= 0100 && df$SIC[i] <= 0299){df$FF_IND <- "AGRI"}
}
## and so on for all groups
您知道执行此任务的一种不那么费力的方式吗?
非常感谢!