[R]指令总结-数组,向量,矩阵

  •  统计一个向量中有几个0
1. set.seed(2015)
2. x<-sample(0:2,100,replace=T)
3. x
4. sum(x==0)
//sum(x==0)是正确的,因为x==0的运算结果是TURE or FALSE,TRUE代表1,这个相加正好就是为0的个数。
5. #两种运算结果一样,或者
6. length(which(x==0))


  • 返回数组最大值标号
which.max(x):返回x中最大元素的指标
which.min(x):返回x中最小元素的指标
max(x): 返回x中最大元素

min(x): 返回x中最小元素


  • 返回矩阵最大元素位置

which(X==max(X),arr.ind=T)


  • 对向量、矩阵的行或列随机排序
若是向量,sample(x)

matrix/data.frame, x[sample(nrow(x)),] 

sample(x)与sample(x,length(x))等价,即

sample(10)与sample(1:10)及sample(1:10,10)等价


  • 排序

sort()/rank()/order()
sort(x,decreasing=FALSE)对向量x排序,返回值 排序后的数值。
                         decreasing=TRUE,逆序
rank(x)             返回值 向量中对应元素的“排名”
order(x)            返回值 对应“排名”的元素所在向量中的位置
 
e.g. 
x<-c(97,93,85,74,32,100,99,67) 

sort(x)
[1] 32 67 74 85 93 97 99 100

rank(x)
[1] 6 5 4 3 1 8 7 2

order(x)

[1] 5 8 4 3 2 1 7 6


  • 连乘 

prod()


  • 【把维度 m*n 的矩阵转成一个 (m*n)*1的矩阵】
dim(a)  -- 112*92
b <- as.matrix( as.vector(a) )  --  10304     1

你可能感兴趣的:(R语言)