Tôi gặp một chút rắc rối với biểu đồ radar của tôi trong R. Mặc dù cốt truyện là tốt Tôi nhận được cảnh báo sau đây:Cảnh báo khi xác định các yếu tố: nhân đôi mức trong yếu tố này được phản
> source('~/.active-rstudio-document')
Warning message:
In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else paste0(labels, :
duplicated levels in factors are deprecated
> radar
Warning messages:
1: In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else paste0(labels, :
duplicated levels in factors are deprecated
2: In `levels<-`(`*tmp*`, value = if (nl == nL) as.character(labels) else paste0(labels, :
duplicated levels in factors are deprecated
Tôi đã thấy lỗi tương tự trong bài viết khác nhưng tôi không thực sự hiểu làm thế nào để áp dụng các câu trả lời cho bộ dữ liệu của tôi ...
Đây là bộ dữ liệu của tôi
MSF,C1,2
OCA,C1,6
SIOA,C1,4
CCFF,C1,4
MSF,C2,4
OCA,C2,2
SIOA,C2,6
CCFF,C2,2
MSF,C3,6
OCA,C3,6
SIOA,C3,6
CCFF,C3,6
Và đây là mã cho correspo nding biểu đồ radar (có lẽ chỉ là phần đầu tiên mà tôi xác định dữ liệu của tôi là có liên quan nhưng yeah ... đó là nơi tôi đã mất):
colnames(dataset) = c("type", "variable", "value")
dataset$value = as.numeric(dataset$value)
dataset$variable <- factor(dataset$variable, levels = rev(dataset$variable), ordered=TRUE)
# Radar function ------------------------------------------------------------
coord_radar <- function (theta = "x", start = 0, direction = 1) {
theta <- match.arg(theta, c("x", "y"))
r <- if (theta == "x")
"y"
else "x"
ggproto("CordRadar", CoordPolar, theta = theta, r = r, start = start,
direction = sign(direction),
is_linear = function(coord) TRUE)
}
# Radar plot ------------------------------------------------------------
radar <- ggplot(dataset, aes(x = variable, y = value, group=type)) +
geom_polygon(aes(group = type, color=type,fill=type), size = 1, alpha=0.1) +
scale_fill_manual(values=cbPalette) +
geom_line(aes(group = type, color=type)) +
scale_colour_manual(values = cbPalette) +
coord_radar()
Tuyệt vời, cảm ơn bạn rất nhiều vì đã trả lời! Dòng 'dataset $ variable <- factor (tập dữ liệu $ variable, levels = rev (duy nhất (dataset $ variable)), được đặt hàng = TRUE)' hiện nó – Jonas