Re: [問題] ggplot2請教

看板R_Language作者 (攸藍)時間9年前 (2015/06/04 10:44), 9年前編輯推噓1(102)
留言3則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《ardodo (米蟲)》之銘言: : 更新一下自己的問題,我想要在ggplot上按照y值總合大小排序我的x類別,以下code : #Data : hp=read.csv(textConnection( : "class,year,amount : a,99,100 : a,100,200 : a,101,150 : b,100,50 : b,101,100 : c,102,70 : c,102,80 : c,103,90 : c,104,50 : d,102,90")) : hp$year=as.factor(hp$year) 推文推太快,複製貼上錯,造成誤會,對不起 levels(hp$class) = levels(hp$class)[ order(tapply(hp$amount, hp$class, sum),decreasing = TRUE)] : #Plotting : p=ggplot(data=hp) : p+geom_bar(binwidth=0.5,stat="identity")+ # : aes(x=class,y=amount,label=amount,fill=year)+theme() -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.27.107 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1433385843.A.C25.html

06/04 10:57, , 1F
感謝cel大回覆,可是我的需求是把ggplot2的x軸
06/04 10:57, 1F

06/04 10:58, , 2F
依照各類別amount的總合降冪排序,也就是a>c>b>d,而不是
06/04 10:58, 2F

06/04 10:58, , 3F
單純的更換class的名稱
06/04 10:58, 3F
抱歉我神智不清...我意思是refactor,用你要顯示順序改成level的順序 我忘記levels是改名字而已.... hp$class = factor(hp$class, levels = levels(hp$class)[ order(tapply(hp$amount, hp$class, sum),decreasing = TRUE)]) ※ 編輯: celestialgod (123.205.27.107), 06/04/2015 11:06:27
文章代碼(AID): #1LRxjpmb (R_Language)
文章代碼(AID): #1LRxjpmb (R_Language)