正如亨裏克說,你需要得到你的數據放入一個因素(至少這是實現這一點最簡單的方法)。請看下面的例子有一些假數據...
#generate 1000 random uniform integers between 1 and 5
data <- floor(runif(1000, 1,6))
#make data a factor with given labels
fdata <- factor(data,
labels = c("No use",
"30 min",
"1 hour",
"2 hours",
"3+ hours"))
這可以在基礎R進行與圖(不指定當Y是barplot不需要)
#in base R, just use plot - when y is missing, barplot is produced
plot(fdata)
您也可以在繪製GGPLOT2
#in ggplot2
require(ggplot2)
#make a dataframe
df <- data.frame(id = seq(1:length(fdata)),
fdata = fdata)
#plot via geom_bar
ggplot(df, aes(fdata)) + geom_bar()
從原來的例子出發,除了指定的水平,你將需要設置ordered=TRUE
,如下圖所示。否則,「無用」仍會顯示在列表的末尾。
#get data into a factor (provided data plus "No use")
q1 <- c("No use"
,"1 hour"
,"1 hour"
,"30 min"
,"2 hours"
,"3+ hours"
,"3+ hours"
,"3+ hours"
,"3+ hours"
,"2 hours"
,"1 hour"
,"2 hours"
,"1 hour"
,"30 min")
q1f = factor(q1,
levels = c("No use",
"30 min",
"1 hour",
"2 hours",
"3+ hours"),
ordered=TRUE)
那麼你可以申請上面顯示的情節邏輯...
請提供可重複的例子(生成一些數據)。你到目前爲止嘗試過什麼(提供一些代碼)? – agstudy