R 基于列和筛选表输出
我希望根据表的值之和(在本例中为列值)过滤表输出。然后我想为那些高于某些总和的值创建一个条形图 代码:R 基于列和筛选表输出,r,R,我希望根据表的值之和(在本例中为列值)过滤表输出。然后我想为那些高于某些总和的值创建一个条形图 代码: 计数12档,即3档和4档。 #伪码 #条形图(计数[colSums>12]? 我的预期输出是,对于3档和4档,它将显示只有2列的条形图。如何在R档中实现这一点 PS:我可以创建并找到每辆车的档位数量(表(mtcars$gear)),将那些总和大于12的部分子集,然后创建另一个表(mtcars$vs,mtcars$gear)以创建具有2列的条形图,但我正在寻找是否有任何立即的方法来实现这一点。
计数12档,即3档和4档。
#伪码
#条形图(计数[colSums>12]?
我的预期输出是,对于3档和4档,它将显示只有2列的条形图。如何在R档中实现这一点
PS:我可以创建并找到每辆车的档位数量(表(mtcars$gear)
),将那些总和大于12的部分子集,然后创建另一个表(mtcars$vs,mtcars$gear)
以创建具有2列的条形图,但我正在寻找是否有任何立即的方法来实现这一点。一个ggplot2解决方案
# install.packages(c("ggplot2"), dependencies = TRUE)
library(ggplot2)
g <- ggplot(subset(mtcars, gear <= 4), aes(factor(vs)))
g + geom_bar(aes(fill = factor(gear)))
#install.packages(c(“ggplot2”),dependencies=TRUE)
图书馆(GG2)
g在您的伪代码中非常接近:barplot(counts[,colSums(counts)>=12]
。谢谢。这是我一直在寻找的。但是我在R文档中没有找到任何关于子集表的内容。我不知道我们可以做table[,筛选条件]
。我还可以为R的表阅读更多的文档吗?或多或少,所有R对象都可以是[
的子集,尽管对于更深奥或复杂的对象也有一些例外。表格类型的对象(矩阵、表格和data.frame,可能还有其他)可以是[,]的子集
和直接扩展中的数组。如果有疑问,请尝试一下。我猜表的提示在值部分,其中说明函数返回数组。请参阅?[
关于子集和提取的讨论。谢谢你们两位。这两个都是我想要的答案。我期待Imo的答案,这些答案给了我另一个表格,但Eric的答案也给了我使用ggplot的另一个视角。
# install.packages(c("ggplot2"), dependencies = TRUE)
library(ggplot2)
g <- ggplot(subset(mtcars, gear <= 4), aes(factor(vs)))
g + geom_bar(aes(fill = factor(gear)))
counts <- with(mtcars, table(vs, gear))
counts
barplot(counts[,colSums(counts) >= 12])