我有一个类似于以下内容的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
(对不起,如果我做错了什么,还是很新的。)
答案 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)
显然这可以清理很多,但这是一个可以开始的地方。