我对R相当陌生,但是使用Python的时间却很长。我在网上到处都看过,并且一直在努力寻找似乎很简单的东西。
因此,我有一个名为“运动”的R数据框,其形式为:
person activity
1 1 running
2 2 running
3 3 walking
4 4 flying
5 5 walking
6 6 running
注意:人员类别并不意味着“ 6个人正在跑步”,而是“ 6个人正在跑步”
我需要将此作为下降的条形图,并且我想使用基本的R图形。因此,使用功能bargraph(),将人员作为“身高”或频率。问题在于,到目前为止,它只是将活动视为单独的活动,并吐出一个6条形图,每个活动都单独列出。
到目前为止,我已经尝试过使用诸如rev(),sort(),order()之类的功能将活动分组在一起并降低数据。我尝试将数据帧转换为矩阵,或将列分别用作向量,以满足barplot()的矩阵/向量要求,但是barplot(movement $ person)确实如上所述。
到目前为止,我最幸运的是将数据框转换为表,并像这样使用它:
bargraph(table(movement))
但是,这不能为我提供降序形式的数据,而且我也无法弄清楚如何使表降序。我得到这样的图:
我希望它从左到右运行:跑步,步行,飞行。
是否有一种简单的方法来执行此操作,或者我是否需要重组整个数据框?
答案 0 :(得分:1)
我们可以在指定factor
的情况下转换为levels
movement$activity <- factor(movement$activity, levels = unique(movement$activity))
然后执行barplot
barplot(table(movement))
movement <- structure(list(person = 1:6, activity = c("running", "running",
"walking", "flying", "walking", "running")), class = "data.frame",
row.names = c("1", "2", "3", "4", "5", "6"))