我是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(运动$ person)就是按照上面的说明进行的。
到目前为止,我已经把数据帧转换成了一个表,并使用它如下:
bargraph(table(movement))
但是,这并没有以递减的形式提供数据,我无法弄清楚如何使表格下降。我得到一个这样的图:
我想要从左到右去:跑步,散步,飞行。
有一种简单的方法可以做到这一点,还是需要重构整个数据帧?
我们可以用指定的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"))