Я пытаюсь создать гистограмму с нисходящими столбцами, используя ggplot2 и график в R. Я использую данные «a12», которые используются ggplot под строкой «#Окончательный кадр данных используется ниже».
Если вы видите снимок ниже, значение «na» в столбце «a1» должно стоять на втором месте графика, однако оно не следует убывающему порядку и помещается последним.
Один из способов решить эту проблему — жестко закодировать там значение, но я не хочу этого делать. Вместо этого есть способ, с помощью которого я могу заставить «na» следовать порядку без жесткого кодирования какого-либо значения?
Примечание. Не изменяйте данные над строкой «#Окончательный кадр данных используется ниже». Фактические данные, над которыми я работаю, на самом деле в том же формате. Пожалуйста помоги.
a1 = c("A","","B","C","D","F")
b1 = c(165,154,134,110,94,78)
a12 = data.frame(a1,b1)
a12[2, 1] = "NA"
#Final Data frame is consumed below
pp1 <<- ggplot(a12 ,
aes(x = reorder(a1, -b1),
y = b1,
text = paste("User: <br>", a1, "<br> Days: <br>", round(b1)))) +
geom_bar(stat = "identity", fill = "#3399ff" ) +
scale_y_continuous(name = "Time") +
scale_x_discrete(name = "Employee")
ggplotly(pp1, tooltip="text", height = 392)
Сценарий дополнения ниже:
a1 = c("A",NA,"B","C","D","F")
b1 = c(165,154,134,110,94,78)
a12 = data.frame(a1,b1,stringsAsFactors = FALSE)
pp1 <<- ggplot(a12 , aes(x = reorder(a1,-b1), y = b1,text=paste("User:
<br>",a1, "<br> Days: <br>", round(b1)))) +
geom_bar(stat = "identity", fill = "#3399ff" ) + scale_y_continuous(name
="Time") + scale_x_discrete(name ="Employee")
ggplotly(pp1, tooltip="text",height = 392)
stringsAsFactors = FALSE
в третьей строке. - person markus   schedule 23.12.2017NA
, т. е. «Недоступно», или на"NA"
? Последний создает строку, что вы и сделали в первую очередь. - person markus   schedule 26.12.2017