学习小组Dnay5笔记-程程

元素,标量,向量的概念

  • 元素:数字,字符串等
  • 标量:一个元素组成的变量
  • 向量:有序的多个元素组成的变量

一些变量赋值的方式

  • seq()的使用
#产生11个从0-1的数字
seq(0, 1, length.out = 11)  
#从1-9产生相差为2的数字
seq(1, 9, by = 2)      
#从1-9产生相差为pi的数字
seq(1, 9, by = pi)  
#从1-6产生相差为3的数字
seq(1, 6, by = 3)  
#从1.575-5.125产生相差为0.05的数字
seq(1.575, 5.125, by = 0.05)  
#相当于x <- 1:17
seq(17) 

#运行结果

> seq(0, 1, length.out = 11)     
[1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 
> seq(1, 9, by = 2)         
[1] 1 3 5 7 9 
> seq(1, 9, by = pi)     
[1] 1.000000 4.141593 7.283185 
> seq(1, 6, by = 3)    
[1] 1 4 
> seq(1.575, 5.125, by = 0.05)     
[1] 1.575 1.625 1.675 1.725 1.775 1.825 1.875 1.925 1.975 2.025 
[11] 2.075 2.125 2.175 2.225 2.275 2.325 2.375 2.425 2.475 2.525 
[21] 2.575 2.625 2.675 2.725 2.775 2.825 2.875 2.925 2.975 3.025 
[31] 3.075 3.125 3.175 3.225 3.275 3.325 3.375 3.425 3.475 3.525 
[41] 3.575 3.625 3.675 3.725 3.775 3.825 3.875 3.925 3.975 4.025 
[51] 4.075 4.125 4.175 4.225 4.275 4.325 4.375 4.425 4.475 4.525 
[61] 4.575 4.625 4.675 4.725 4.775 4.825 4.875 4.925 4.975 5.025 
[71] 5.075 5.125
  • rep()的使用
#重复产生1-4的数字,2次
rep(1:4, 2)  
#1-4的数字,每个数字重复两次
rep(1:4, each = 2)     
#1-4的数字,指定每个数字的重复次数
rep(1:4, c(2,2,2,2))    
rep(1:4, c(2,1,2,1)) 
#从1-4产生数字,每个数字重复2次,总共产生数字长度为4
rep(1:4, each = 2, len = 4)   
#len>8····(2*4),此时从头开始继续重复输出
rep(1:4, each = 2, len = 10) 
#1-4的数字,每个数字重复2次,该数字排列整体重复3次
rep(1:4, each = 2, times = 3) 

#运行结果

> rep(1:4, 2)  
[1] 1 2 3 4 1 2 3 4 
> rep(1:4, each = 2)      
[1] 1 1 2 2 3 3 4 4 
> rep(1:4, c(2,2,2,2))  
[1] 1 1 2 2 3 3 4 4 
> rep(1:4, c(2,1,2,1))  
[1] 1 1 2 3 3 4 
> rep(1:4, each = 2, len = 4)    
[1] 1 1 2 2 
> rep(1:4, each = 2, len = 10)  
 [1] 1 1 2 2 3 3 4 4 1 1 
> rep(1:4, each = 2, times = 3)  
[1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4

从向量中提取元素

  • 按值提取
#x中等于5的数字
x[x==5] 
x[x<=6] 
#输出x中属于(1,3,5,7,9)中的数字
x[x %in% c(1,3,5,7,9)]

#运行结果

> x[x==5] 
[1] 5 
> x[x<=6] 
[1] 1 2 3 4 5 6 
> x[x %in% c(1,3,5,7,9)] 
[1] 1 3 5 7 9
  • 按元素位置提取
x <- 1:10  
#输出第四个元素
x[4] 
#“-”表示除去该元素的输出
x[-4] 
x[2:4] 
x[-(2:4)] 
x[c(1,3,5)] 

#运行结果

> x <- 1:10 
> x[4] 
[1] 4 
> x[-4] 
[1]  1  2  3  5  6  7  8  9 10 
> x[2:4] 
[1] 2 3 4 
> x[-(2:4)] 
[1]  1  5  6  7  8  9 10 
> x[c(1,3,5)] 
[1] 1 3 5

数据框

  • 读取本地数据
#sep="\t"表示以Tab为分隔符
#header = T表示文件数据带表头
read.table(file="huahua.txt",sep="\t",header=T) read.table(file="doudou.txt",sep=",",header =T)

#运行结果

> read.table(file="huahua.txt",sep="\t",header=T)   
   X1 X2 
1  A  1 
2  B NA 
3  C NA 
4  D  3 
5  E NA 
> read.table(file="doudou.txt",sep=",",header =T)   
   X1 X2 
1  A  1 
2  B NA 
3  C NA 
4  D  3 
5  E NA
  • 修改行名/列名
#读取文件
x <- read.csv("doudou.txt") 
#查看列名
colnames(x)
#查看行名 
rownames(x)
#j将第一列列名更改为bioplanet 
colnames(x)[1]<-"bioplanet" 
#查看更改后的列名
colnames(x)  
————————————————————————————————————
#运行结果
————————————————————————————————————
> x <- read.csv("doudou.txt") 
> colnames(x) 
[1] "X1" "X2" 
> rownames(x) 
[1] "1" "2" "3" "4" "5" 
> colnames(x)[1]<-"bioplanet" 
> colnames(x) 
[1] "bioplanet" "X2" 
#读入文件
x<-read.csv("doudou.txt") 
#输出x
x 
#将文件第一列作为行名
x<-read.csv(file="doudou.txt",sep=",",header =T,row.names=1) 
x
——————————————————————————————————————————————————————————————————————
#运行结果
——————————————————————————————————————————————————————————————————————
x<-read.csv("doudou.txt") 
> x   
  X1 X2 
1  A  1 
2  B NA 
3  C NA 
4  D  3 
5  E NA 
> x<-read.csv(file="doudou.txt",sep=",",header =T,row.names=1) 
> x   
  X2 
A  1 
B NA 
C NA 
D  3 
E NA
  • 数据框的导出
#quote=F表示输出的char或factor不用""引住;quote=T则使用""
write.table(x,file="yu.txt",sep=",",quote=F)
  • 提取元素
x<-read.table(file="doudou.txt",sep=",",header=T) 
x[1,2] 
x[1,] 
x[,2] 
x[2] 
x[1:2] 
x[c(1,2)] 
x$X2

#运行结果

> x<-read.table(file="doudou.txt",sep=",",header=T) 
> x[1,2] 
[1] 1 
> x[1,]   
   X1 X2 
1  A  1 
> x[,2] 
[1]  1 NA NA  3 NA 
> x[2]   
  X2 
1  1 
2 NA 
3 NA 
4  3 
5 NA 
> x[1:2]   
   X1 X2 
1  A  1 
2  B NA 
3  C NA 
4  D  3 
5  E NA 
> x[c(1,2)]   
  X1 X2 
1  A  1 
2  B NA 
3  C NA 
4  D  3 
5  E NA 
> x$X2 
[1]  1 NA NA  3 NA
  • 变量的保存与重新加载 RData
#保存当前全部变量
save.image(file="bioinfoplanet.RData")
#保存变量x
save(x,file="test.RData")
#重新加载命令
load("test.RData")
#运行结果
> x<-1:10 
> save(x,file="test.RData") 
> load("test.RData") 
> x
[1]  1  2  3  4  5  6  7  8  9 10

【选修】直接使用数据框中的变量--提取某两列作散点图

#环境设置函数,设置数据框的读取方式,将String读取为Factor
options(stringsAsFactors = T) 
#paste0("S",1:9)将S与1-9的数字连接起来形成字符
a <-data.frame(case=paste0("S",1:9),values=runif(9))
plot(a$case,a$values)
  • 省力实现,避免反复输入a
  1. attach
attach(a) 
plot(case,values)
  1. with
    with函数使得{}里的操作都在数据框中进行
with(a,{  plot(case,values) 
#<<x作为全局变量
x<<-summary(values)
})
x 
#x输出结果
#最小值Min,四分位数Qu,中位数Median,平均值Mean,最大值Max
> x    
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
 0.1068  0.3873  0.4103  0.4747  0.6760  0.8566 
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343