取出一个数字序列中的百分位数
1. 求某一个百分比
x<-rnorm(200)quantile(x,0.9)
2. 求一系列的百分比
quantile(x,c(0.1,0.9))
quantile(x,seq(0.1,1,0.1))
3. 只取数值:unname()。去掉百分符号
unname(quantile(x,0.9))
4. 多数值,去重复
unique(quantile(x, probs = seq(0,1, length.out = 50)))
cut函数将一列点划分到各自的区间里。
如有1000个学生的考试分数(满分100),想要按照分数评等级,如果是均匀划分(90-100,80-90,70-80,...),直接做除法取商就行,但如果划分不均匀(90-100,75-90,60-75,0-60), cut函数将会派上用场。c0=c(2.3,3,1.5,4.8,9,3,4,7,8,9.5) cuttime=c(0,3,6,9,10) cut(c0,cuttime,labels = F,right = F)
随机取样
sample(seq(1:10),2)
给定一组逻辑值,是否所有的值都为True
Given a set of logical vectors, are all of the values true?
all(c(T,F))
数据的中心化和标准化
scale
is generic function whose default method centers and/or scales the columns of a numeric matrix.
就是假设数据服从正态分布,然后有一个标准化的公式。
options(digits=3)data <- c(1, 2, 3, 6, 3)scale(data, center=T,scale=F)scale(data, center=T,scale=T)
do.call
list <- list(matrix(1:25, ncol = 5), matrix(4:28, ncol = 5), matrix(21:45, ncol=5)) list.sum<-do.call(sum,list)list.sum<-do.call(cbind,list)
do.call() 是告诉list一个函数,然后list里的所有元素来执行这个函数。