各位大神,帮忙看一下,为什么factor就出错了。
> library(rms)> library(haven)> data1<- read_sav("C:/Users/HP/Desktop/6.8.sav")> View(data1)> summary(data1) 病理 AFP CA199 CEA Length:201 Length:201 Length:201 Length:201 Class :character Class :character Class :character Class :character Mode :character Mode :character Mode :character Mode :character 乙肝 肝硬化 声晕 远端胆管扩张 Length:201 Length:201 Length:201 Length:201 Class :character Class :character Class :character Class :character Mode :character Mode :character Mode :character Mode :character > str(data1)tibble [201 × 8] (S3: tbl_df/tbl/data.frame) $ 病理 : chr+lbl [1:201] 0, 0, 0, 0, 0, 0, ... ..@ label : chr "病理" ..@ format.spss: chr "A8" ..@ labels : Named chr [1:2] "0" "1" .. ..- attr(*, "names")= chr [1:2] "肝细胞癌" "胆管细胞癌" $ AFP : chr+lbl [1:201] 1, 1, 0, 1, 1, 1, ... ..@ label : chr "AFP" ..@ format.spss: chr "A8" ..@ labels : Named chr [1:2] "0" "1" .. ..- attr(*, "names")= chr [1:2] "阴性" "阳性" $ CA199 : chr+lbl [1:201] 1, 0, 0, 0, 0, 0, ... ..@ label : chr "CA199" ..@ format.spss: chr "A8" ..@ labels : Named chr [1:2] "0" "1" .. ..- attr(*, "names")= chr [1:2] "阴性" "阳性" $ CEA : chr+lbl [1:201] 0, 0, 1, 0, 0, 1, ... ..@ label : chr "CEA" ..@ format.spss: chr "A8" ..@ labels : Named chr [1:2] "0" "1" .. ..- attr(*, "names")= chr [1:2] "阴性" "阳性" $ 乙肝 : chr+lbl [1:201] 0, 1, 1, 1, 1, 0, ... ..@ label : chr "乙肝" ..@ format.spss: chr "A8" ..@ labels : Named chr [1:2] "0" "1" .. ..- attr(*, "names")= chr [1:2] "阴性" "阳性" $ 肝硬化 : chr+lbl [1:201] 0, 1, 1, 1, 1, 0, ... ..@ label : chr "肝硬化史" ..@ format.spss: chr "A8" ..@ labels : Named chr [1:2] "0" "1" .. ..- attr(*, "names")= chr [1:2] "无" "有" $ 声晕 : chr [1:201] " 0" " 1" " 1" " 0" ... ..- attr(*, "label")= chr "声晕" ..- attr(*, "format.spss")= chr "A8" $ 远端胆管扩张: chr+lbl [1:201] 0, 0, 0, 0, 0, 0, ... ..@ label : chr "远端胆管扩张" ..@ format.spss: chr "A8" ..@ labels : Named chr [1:2] "0" "1" .. ..- attr(*, "names")= chr [1:2] "无远端胆管扩张" "远端胆管扩张"> names(data1)[1] "病理" "AFP" "CA199" "CEA" "乙肝" [6] "肝硬化" "声晕" "远端胆管扩张"> data$病理 <- factor(data1$病理,levels = c(0,1), labels = c("肝细胞癌", "胆管细胞癌")) Error:! Assigned data `factor(...)` must be compatible with existing data.✖ Existing data has 149 rows.✖ Assigned data has 201 rows.ℹ Only vectors of size 1 are recycled.Run `[color=rgb(85, 87, 83) !important][url=]rlang::last_error()[/url]` to see where the error occurred.> rlang::last_error()<error/tibble_error_assign_incompatible_size>Error:! Assigned data `factor(...)` must be compatible with existing data.✖ Existing data has 149 rows.✖ Assigned data has 201 rows.ℹ Only vectors of size 1 are recycled.---Backtrace: 1. base::`$<-`(`*tmp*`, 病理, value = `<fct>`) 12. tibble (local) `<fn>`(`<vctrs___>`)Run `[color=rgb(85, 87, 83) !important][url=]rlang::last_trace()[/url]` to see the full context.