特定行的直方图

时间:2016-07-22 14:43:38

标签: r histogram rows

我有一个类似于以下内容的csv。

Library Parameter1 Parameter2 Parameter3
A       3          6          4
A       4          6          3
A       7          8          9
B       2          10         7
B       4          4          5
B       3          5          4
C       4          6          4
C       6          3          12
C       5          6          8

我希望能够创建一个函数来为特定的库和参数创建直方图,例如,库B中参数2的频率的直方图。

我现在知道如何使用直方图功能。

### x = "Parameter"
histogram <- function(x) {hist(filename[[x]], main = "Normalized", 
    xlab = "x", ylab = "Frequency", breaks = ceiling(sqrt(nrow(filename))))}

编辑:这是我正在使用的实际数据框架。它很大所以我不能把dput放在这里???

https://www.dropbox.com/s/2ivbhc7wyqms0fy/All-Norm.csv?dl=0

(对不起,如果我做错了什么,还是很新的。)

2 个答案:

答案 0 :(得分:0)

一种解决方案是首先对数据进行子集化:

sub <- subset(yourdata, Library == "B")$Parameter2
histogram(sub)

答案 1 :(得分:0)

这是一个非常简单的ggplot我刚刚放在一起

代码:

dat <- data.frame(Library = c("A","A","A","B","B","B","C","C","C"),
                  Parameter1=c(3,4,7,2,4,3,4,6,5),
                  Parameter2 = c(6,6,8,10,4,5,6,3,6),
                  Parameter3=c(4,3,9,7,5,4,4,12,8))

dat <- data.table::melt(dat,id.vars="Library")

library(ggplot2)

ggplot(dat,aes(x = value)) + geom_histogram() + facet_grid(Library~variable)

输出:

enter image description here

显然这可以清理很多,但这是一个可以开始的地方。