生成规则数据 1、使用“:“,如x=1:10,注意该方法既可以递增也可以递减,如y=10:1 2、seq,有两种用法:①seq(起点,终点,步长); ②seq(length=9, from=1, to=5) seq还有一种简写:seq(x) #相当于1:length(x),但当length(x)为0时,返回integer(0) 3、c(1,2,8) 4、使用scan(),可以等待键盘输入。输入过程中,可以使用空格分隔每个元素,也可以一行输入一个元素。输入完毕只需键入一个空行即可。 5、rep(x,n) #将x重复n次,可使用each限定为依次重复形式 rep(1:3,3) rep(1:3,each=3) 6、sequence(4,9)构造一个包含1:4和1:9共13个元素的向量 7、gl(k,n,length=,label=)构造一个因子序列。k为水平数,n为每个水平连续出现的次数,length为整个序列的长度,label为因子标签。 举例:gl(3,5,length=20,label=c('a','b','c')) 8、expand.grid(a=1:3,b=1:4,c=c('x','y','z'))构造一个数据框,将各参数的各水平完全搭配。 9、paste:该函数每次从每个参数中提取一个元素组成一个字符串,直至元素最多的参数取完,其它元素不足的参数循环补足。 可接受多个参数,每个参数可包括多个元素。例:paste(c("X","Y"), 1:10, sep="") 10、combn(x, n) #生成x中取n个元素的所有组合
常用随机数字 runif(n,min=0,max=1) #uniform,均匀分布 rnorm(n,mean=0,sd=1) #Gaussian(normal),正态分布 rexp(n,rate=1) #exponential,指数分布 rlnorm(n,meanlog=0,sdlog=1) #lognormal,对数正态分布
随机抽样 sample(x, n, replace=FALSE, prob=) sample(10) #随机排列1:10,默认不重复抽样 sample(10, 5) #从1:10中随机抽5个,不重复抽样 x=10:20; sample(x); #随机排列x sample(10, replace=TRUE) #从1:10中随机抽10次,允许重复抽样 sample(0:1, 100, replace=TRUE) #100次伯努利试验 sample(c(0,1), 10, replace=TRUE, prob=c(0.1, 0.9)) #分别以0.1和0.9的概率抽取0和1
字符切割 strsplit(x, split, fixed = FALSE, perl = FALSE) #根据split将x分割,若split=“”,则将x分为单个字符。 #默认split为正则表达式,可使用fixed=TRUE,对split做精确匹配 #当perl=TRUE时,使用perl的正则表达式规则 #当分隔符为?, +, {, |, (, )时,要使用'\\'来消除特殊含义
字符连接 paste(letters,collapse='') #将26个小写字母连成一个字符串 #使用collapse指定的连接符,连接paste的结果为一个字符串 #鉴别以下几种情况 paste(letters[1:5]) #不能连接,输出5个字母:"a" "b" "c" "d" "e" paste("a", "b", "c", "d", "e", sep='') #输出"abcde",注意和前者的差别 paste(1:3,4:6,collapse='-') #输出"1 4-2 5-3 6" paste(1:3,4:6,sep='',collapse='-') #输出"14-25-36" paste(c(1:3,4:6),collapse='-') #输出"1-2-3-4-5-6"
R语言中的内嵌常量 LETTERS #26个大写字母 letters #26个小写字母 month.abb #12个月份的三字母缩写 month.name #12个月份的全称 pi #3.14... 字母和月份可以取部分子集,例:letters[c(1:8)]
|
请发表评论