我现在正在学习R,我遇到了查找命令的问题.
我有分类数据
levels(job)
[1] "admin." "blue-collar" "entrepreneur" "housemaid"
[5] "management" "retired" "self-employed" "services"
[9] "student" "technician" "unemployed" "unknown"
Run Code Online (Sandbox Code Playgroud)
现在我想简化这些级别,例如
levels(job)
[1] "class1" "class2" "class3" "unknown"
Run Code Online (Sandbox Code Playgroud)
其中type1包括"admin.","entrepreneur",和"self-employed";
type2包括"blue-collar","management",和"technician";
type3包括"housemaid","student","retired",和"services";
unknown包括"unknown"和"unemployed".
为此,我可以使用哪个命令?谢谢!严
Fra*_*ank 10
您可以分配到levels:
levels(z)[levels(z)%in%c("unemployed","unknown","self-employed")] <- "unknown"
Run Code Online (Sandbox Code Playgroud)
这包含在帮助文件中 - 类型?levels.
从@ akrun的答案中窃取,您可以使用哈希/列表最干净地执行此操作:
ha <- list(
unknown = c("unemployed","unknown","self-employed"),
class1 = c("admin.","management")
)
for (i in 1:length(ha)) levels(z)[levels(z)%in%ha[[i]]] <- names(ha)[i]
Run Code Online (Sandbox Code Playgroud)