有没有办法diag()
在不使用内置函数或迭代的情况下在Matrix中使用该函数?
M<-matrix(1:9, ncol=3) # make a matrix
q5b<-function(M){ #function
}
Run Code Online (Sandbox Code Playgroud)
我知道M[1,1]
,M[2,2]
和M[3,3]
给我的输出相同diag(M)
.但是,如果没有for循环,我无法想到这样做的方法.
我的思维过程是我应该有一个条件,row index == column index
然后矩阵然后打印该值.我很感激任何建议.
我想根据位置绘制长度的直方图.我试图覆盖直方图,其中一个位置的数据是一种颜色而另一个位置是不同的颜色.
这是我到目前为止的R代码,只是绘制直方图:
fasta<-read.csv('fastadata.csv',header = T)
norton<-fasta[fasta$SampleID == ">P.SC1Norton-28F",]
cod<-fasta[fasta$SampleID == ">P.SC4CapeCod-28F ",]
bins <- seq(200, 700, by=25)
hist(fasta[,3], breaks=bins, main="Histogram of ReadLengths of a set bin size for Cape Cod and Norton", xlab="ReadLengths")
Run Code Online (Sandbox Code Playgroud)
我一直看到使用ggplot,但我不确定如何在一个表中使用此函数并使用我使用的binning.
产量dput(head(fasta))
:
structure(list(SampleID = structure(c(2L, 2L, 2L, 2L, 2L, 2L), .Label = c(">P.SC1Norton-28F",">P.SC4CapeCod-28F"), class = "factor"), SeqName = structure(c(5674L, 5895L, 5731L, 5510L, 4461L, 5648L), .Label = c("IJO4WN203F00DQ", "IKTXKCP03HKQ5E"), class = "factor"), ReadLength = c(394L, 429L, 437L, 438L, 459L, 413L)), .Names = c("SampleID", "SeqName", "ReadLength"), row.names …
Run Code Online (Sandbox Code Playgroud) r ×2