雇员数据中,教育年限变量原本有10个水平,不长不短很难受,不利于有关统计结果解读。
我希望把它压缩一下,将原来的10个水平重新编码为4个水平。翻译为国内的意思就是,1初中及以下,2高中,3大学,4研究生及以上,这样本身也好理解,统计结果解读更有利。
car包的recode函数在多分类变量重新编码方面优势明显,今天来练习一下。
recode(x,recodes,as.factor.result,levels)
其中:
x为数值向量,字符向量或者factor 变量。
recode为设定重新编码规则的字符串。
as.factor.result为是否输出factor变量。若是则为TRUE,不是为FALSE。
levels为排序向量。指定新的编码分组的顺序(默认是按照分组名称排序)。
recodes参数的值是一个字符串,字符串里面是以分号分隔的编码规则:
recodes=“规则1;规则2…”
每一个编码规则的格式为旧码列表=新码,“旧码列表”部分可用lo代表旧码的最小值(low)、hi代表旧码的最大值(high)。
撰写规则如下:
1)旧码=新码 旧码只有单一数值。例如:“0=NA”表示将0改为NA。
2)旧码向量=新码 多个旧码改为一个新码。例如:“c(7,8,9)=‘high’”,将7,8