Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 基于列和筛选表输出_R - Fatal编程技术网

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])