1.matrics是一种以列优先为顺序(column-major order),包含行与列两个特性的特殊vector,表示为matrix(行数,列数)
2.创建matrix的方式
1) y<-matrix(c(1,2,3,4),nrow=2,ncol=2)
2) y<-matrix(nrow=2,ncol=2); y[1,1]<-1….
3) m<-matrix(c(1,2,3,4,5,6),nrow=2,byrow=T) 通过byrow参数来“行优先”输入
3.线性代数
1) %*% 矩阵相乘(条件:左侧矩阵的列数=右侧矩阵的行数)
4.取子矩阵的几种方式
1) 连续取 z[,2:3]:取z矩阵2、3两列
2) 跳跃取 z[c(1,3),]:取z矩阵1、3两行
3) 剔除取 z[-2,]:剔除z矩阵第2行
5.矩阵的过滤和元组过滤类似,也可以对[]内写表达式,表达式中可以包含&(AND);鉴于矩阵是特殊的元组,也可以对矩阵使用which来取出满足条件的元素其下标
6.apply()方法可以把自定义的function,应用到matrix中的元素上。如果自定义function返回k个元素的vector,那么apply()的结果将包含k行。
7.通过cbind()和rbind()合并两个vector(matrix)——实际上,所谓“合并”,只是创建了一个新的matrix
8.对vector调用class方法,其结果由vector中包含的数据类型决定,如class(c(1,2,3))为numeric,而class(c(‘a’,'b’))为character;而matrix的class永远是matrix
9.从matrix中提取一行或列,被提取的部分会自动成为vector,而不再是matrix。在进行提取的时候,需要指定drop参数为FALSE来保证最终还是matrix。如r<-z[2,, drop=FALSE]。抑或利用as.matrix()方法将被提取的结果改变为matrix
10.array为matrix提供了额外的维度,使得matrix由二元变为三元。如test<-array(data=c(firstMatrix,secondMatrix),dim=c(rownumber,columnnumber,2))。dim参数决定了合并的matrix数量。而array的合并可以实现更高维度的matrix。
Monday, September 17, 2012
Monday, September 10, 2012
How to batch rename files
for i in *; do j=`echo $i | cut -d . -f 1`; j=$j"_32.png"; mv $i $j; done
Basically, this says "for every file in the folder, cut the filename on all dots and take the first result into variable 'j'. Then append '_32.png' onto the end of the variable. Finally move the original file to the new filename".
(http://www.thingy-ma-jig.co.uk/comment/7855)
example:
Subscribe to:
Posts (Atom)