Đó không phải là lỗi, đó là cảnh báo. Và nó cho bạn biết rằng một trong các cột bạn sử dụng trong tham gia của bạn là một yếu tố và yếu tố đó có các cấp độ khác nhau trong các tập dữ liệu khác nhau. Để không mất bất kỳ thông tin nào, các yếu tố được chuyển đổi thành các giá trị ký tự. Ví dụ:
library(dplyr)
x<-data.frame(a=letters[1:7])
y<-data.frame(a=letters[4:10])
class(x$a)
# [1] "factor"
# NOTE these are different
levels(x$a)
# [1] "a" "b" "c" "d" "e" "f" "g"
levels(y$a)
# [1] "d" "e" "f" "g" "h" "i" "j"
m <- left_join(x,y)
# Joining by: "a"
# Warning message:
# joining factors with different levels, coercing to character vector
class(m$a)
# [1] "character"
Bạn có thể chắc chắn rằng cả hai yếu tố có cùng cấp trước khi sáp nhập
combined <- sort(union(levels(x$a), levels(y$a)))
n <- left_join(mutate(x, a=factor(a, levels=combined)),
mutate(y, a=factor(a, levels=combined)))
# Joining by: "a"
class(n$a)
#[1] "factor"
Bạn có thể đăng mã đang tạo lỗi không? – Tor
Với các lỗi như vậy, nó giúp đăng một [ví dụ tái sản xuất] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – MrFlick