我有一个需要清理的数据集。是否有一种方法可以在R中编码,以便从数据集中提取具有3个以上不同级别的列?C栏有不同的教育水平,我希望它与D栏和F栏一起选择,而E栏和G栏不会被选中,因为它不符合3级以上的要求。
同时,我需要一个专栏,以一种特定的方式安排?教育,我希望博士能位居榜首。其他层次的教育不需要有任何顺序。
非常感谢对不起,我对R非常陌生,我附上了从原始数据复制的示例数据的快照。的所有帮助。
发布于 2022-09-15 11:40:51
复制数据有点复杂,因为它是一个图像,但是您可以使用这个函数来选择至少有3个级别的数据格式列。
首先,我转换为考虑的那些列,在这种情况下,从C或3列。然后使用for循环,我识别那些列的两个以上的水平,并将结果保存在一个向量中,然后根据这些列过滤原始数据集。
select_columns <- function(df){
df <- data.frame(lapply(df[,-c(1,2)], as.factor))
selectColumns <- c()
for (i in 1:length(df)) {
if((length(unique(df[,i])) > 3) ){
selectColumns[i] <- colnames(df[i])
}
}
selectColumns <- na.omit(selectColumns)
return(data %>% select(c(1:2),selectColumns))
}
select_columns(your_data_frame)https://stackoverflow.com/questions/73728011
复制相似问题