生信自学论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: TCGA GEO R
查看: 1419|回复: 20

R语言21天学习笔记

  [复制链接]

6

主题

34

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2017-9-19 10:05:55 | 显示全部楼层 |阅读模式
生信自学网课程
本帖最后由 苹果apple 于 2017-9-19 10:15 编辑

第一天:
  1. x=1:100 #把1,2,。。。100个整数向量赋值到x

  2. (x=1:100) #同上,只不过显示出来

  3. sample(x,20) #从1,2,。。。,100中随机不放回地抽取20个值做样本

  4. set.seed(0);sample(1:10,3) #先设随机种子,再抽样

  5. z=sample(1:20000,10000) #从1到20000中不放回抽取10000个样本

  6. z[1:10] #方括号中为向量z的下标

  7. y=c(1,3,7,3,4,2)

  8. z[y] #以y为下标的z的元素值

  9. (z=sample(x,100,rep=T)) #从x中有放回地随机抽取100个值做样本

  10. (z1=unique(z))

  11. length(z1) #z1中不同的元素个数

  12. xz=setdiff(x,z) # x和z之间的不同元素 —— 集合差

  13. sort(union(xz),z) #对xz以及z的并的元素从小到大排序

  14. setequal(union(xz,z),x) #xz以及z的并的元素与x是否一样

  15. intersect(1:10,7:50) #两个数据的交

  16. sample(1:100,20,prob=1:100) #从1:100中不等概率随机抽样,各个数字被抽到的概率与其值成比例
复制代码


回复

使用道具 举报

6

主题

34

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2017-9-19 10:07:07 | 显示全部楼层
生信自学网课程
本帖最后由 苹果apple 于 2017-9-19 10:15 编辑

第二天:
  1. pi*10^2 #

  2. '*'(pi, '^'(10,2)) #

  3. pi*(1:10)^-2.3 #可以对向量求指数幂

  4. x=pi*10^2 #

  5. x

  6. print(x) #

  7. (x=pi*10^2) #赋值带打印

  8. pi^(1:5) #指数也可以是向量

  9. print(x,digits=12) #输出x的12位数字
复制代码


回复

使用道具 举报

6

主题

34

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2017-9-19 10:08:45 | 显示全部楼层
生信自学网课程
第三天:关于R的对象类型等
  1. x=pi*10^2 #

  2. class(x) # x的class

  3. typeof(x) # x的type

  4. class(cars) # cars是R中自带的数据

  5. typeof(cars) #cars的type

  6. names(cars) # cars数据的变量名字

  7. summary(cars) # cars的汇总

  8. head(class) #  cars的头几行数据,和cars[1:6,]相同

  9. tail(class) # cars的最后几行数据

  10. str(cars) # 也是汇总 ???

  11. row.name(cars) # 行名字

  12. attributes(cars) #cars的一些信息

  13. class(dist~speed) # 公式形式 ,“~”的左边是因变量,右边是自变量

  14. plot(dist~speed,cars) # 两个变量的散点图

  15. plot(cars$speed,cars$dist) # 同上
复制代码


回复

使用道具 举报

6

主题

34

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2017-9-19 10:12:45 | 显示全部楼层
生信自学网课程
第四天:包括简单自变量为定变量 及定性变量的回归
  1. ncol(cars),nrow(cars) #cars的行列数

  2. dim(cars) # cars的维数

  3. lm(dist~speed, data =cars) #一dist为因变量,speed为自变量做OLS,,,

  4. cars$qspeed = cut(cars$speed, breaks=quantile(cars$speed),include.lowest=TRUE) #增加定性变量qspeed,四分点位为分割点

  5. names(cars) #数据cars多了一个变量

  6. cars[3] #第三个变量的值 ,和  cars[,3]类似

  7. table(cars[3]) #列表

  8. is.factor(car$speed) #

  9. plot(dist~speed,data=cars) #点出箱线图

  10. (a=lm(dist~speed, data=cars)) #拟合线性模型(简单最小二乘回归)

  11. summary(a) #回归结果(包括一些检验)
复制代码


回复

使用道具 举报

6

主题

34

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2017-9-19 10:14:55 | 显示全部楼层
生信自学网课程
第五天:简单样本描述统计量
  1. x<-round(runif(20,0,20),digits=2)

  2. summary(x) # 汇总

  3. min(x),max(x) range(x) # 极值 范围

  4. median(x) #中位数

  5. mean(x) #均值

  6. var(x) #方差

  7. sd(x) # 标准差

  8. sqrt(var(x)) #平方根

  9. rank(x) # 秩(rank)

  10. order(x) # 升幂排列的x的下标

  11. order(x,decreasing=T) #降幂排列的x的下标

  12. x[order(x)] #和sort(x) 相同

  13. sort(x,decreasing=T) sort(x,dec=T) #降幂排列的x

  14. sum(x);length(x) #元素和 以及向量的个数

  15. round(x) 等同于round(x,0) 而round(x,5) 表示保留小数点后5位

  16. fivenum(x), # 五数汇总

  17. quantile(x)  #分点位 quantiles(different convention)

  18. quantile(x,c(0,.33,.66,1)) #

  19. mad(x)# 'median average distance':

  20. cummax(x) #累积最大值

  21. cummin(x) #累积最小值

  22. sumprod(x) #累积积

  23. cor(x,sin(x/20)) #线性相关系数 (correlation)
复制代码


回复

使用道具 举报

6

主题

34

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2017-9-19 10:16:45 | 显示全部楼层
生信自学网课程
第六天:简单图形
  1. x=rnorm(200) #200个随机正态数赋值到x

  2. hist(x, col='light blue') #直方图 histogram

  3. rug(x) #在直方图下面加上实际点的大小

  4. stem(x) # 茎叶图

  5. x<> #

  6. y<> #构造一个线性关系

  7. plot(y ~x) #散点图

  8. a=lm(y~x) # 做回归

  9. abline(a,col='red') # 加拟合线 同abline(lm(y~x),col='red')

  10. print('Hello world!') #打印

  11. paste('x的最小值= ',min(x)) #

  12. demo(graphics) # 演示画图(点Enter切换)
复制代码


回复

使用道具 举报

6

主题

34

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2017-9-19 10:17:33 | 显示全部楼层
生信自学网课程
第七天:复数运算和求函数极值
  1. (2+4i)^-3.5+(2i+4.5)*(-1.7-2.3i)/((2.6-7i)*(-4+5.1i)) #复数运算

  2. (z<> #一个10维复向量,实部和虚部均为10个标准正态样本点

  3. complex(re=rnorm(3),im=rnorm(3)) #3维复向量

  4. Re(z) # 实部

  5. Im(z) # 虚部

  6. Mod(z) # 模

  7. Arg(z) # 辐角

  8. choose(3,2)  #组合

  9. factorial(6) #排列6!

  10. #解方程:

  11. f=function(x) x^3-2*x-1

  12. uniroot(f,c(0,2)) #迭代求根

  13. #如果知道根为极值

  14. f=function(x) x^2+2*x+1 #定义一个二次函数

  15. optimize(f,c(-2,2)) #在区间(-2,2) 求极值
复制代码


回复

使用道具 举报

6

主题

34

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2017-9-19 10:18:58 | 显示全部楼层
生信自学网课程
第八天:字符型向量
  1. a=factor(letter[1:10]) #letters:小写字母的向量,LETTERS:大写字母的向量

  2. a[3]='w' #不行,警告!

  3. a=as.character(a) #转换一下

  4. a[3]='w' #可以了

  5. a;character(a) #两种不同的类型
复制代码


回复

使用道具 举报

6

主题

34

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2017-9-19 10:19:50 | 显示全部楼层
生信自学网课程
第九天:数据输入输出
  1. x=scan() #

  2. x=c( 1.5 , 2.6,  3.7,  2.1,  8.9, 12.0, -1.2, -4.0) #

  3. w=read.table(file.choose(),header=T) #从列表中选择有变量名的数据

  4. setwd('f:/2013stat') set('f:\2013stat') #建立工作路径

  5. (x=rnorm(20)) #给x赋值20个标准正态数据值

  6. write(x,'f:/2013stat/test.txt') #把数据写入文件

  7. y=scan(x,'f:/2013stat/test.txt');y #扫描文件数值数据到y

  8. y=iris;y[1:5,];str(y) #iris是R自带数据

  9. write.table(y,'test.txt',row.name=F) #把数据写入文本文件

  10. w=read.table('f:/2013stat/test.txt',header=T) #读带有变量名的数据

  11. str(w) #汇总

  12. write.csv(y,'test.csv') #把数据写入csv文件

  13. v=read.csv('f:/2013stat/test.csv') #读入csv数据文件

  14. str(v) #汇总

  15. data=read.table('clipboard') #读入剪贴板的数据
复制代码


回复

使用道具 举报

6

主题

34

帖子

90

积分

注册会员

Rank: 2

积分
90
 楼主| 发表于 2017-9-19 10:23:22 | 显示全部楼层
生信自学网课程
第十天:序列
  1. (z=seq(-1,10,length=100)) # -1到10等间隔的100个数的序列

  2. z=seq(-1,10,length=100) #同上

  3. (z=seq(10,-1,-0.1)) #10到-1间隔为-0.1的序列

  4. (x=rep(1:3,3)) #三次重复1:3

  5. (x=rep(3:5,1:3)) #

  6. x=rep(c(1,10),c(4,5)) #

  7. w=c(1,3,x,z) #w[3]把数据(包括向量)组合成一个向量

  8. x=rep(0,10);z=1:3;x+z #向量加法,警告信息:

  9.                                  In x + z : 长的对象长度不是短的对象长度的整倍数

  10. x*z #乘法

  11. rev(x) #颠倒次序

  12. z=c('no cat ','has','nine','tails') #字符向量

  13. z[1]=='no cat' #逻辑等式

  14. z=1:5 #

  15. z[7]=8;z #

  16. z=NULL #

  17. z[c(1,3,5)]=1:3 #

  18. z #

  19. rnorm(10)[(2,5)] #

  20. z[-c(1,3)] #去掉第1,3个元素

  21. z=sample(1:100,10);z #

  22. which(z==max(z)) #给出最大值的下标
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|生信自学网论坛 ( 粤ICP备14097033号 )

GMT+8, 2018-6-23 04:40 , Processed in 0.144848 second(s), 20 queries .

Powered by biowolf.cn

© 2001-2017 BioWolf

快速回复 返回顶部 返回列表