2022-04-22

R语言清空环境所有变量

ls()

rm(list=ls())

#运行脚本:光标放在某一行,点”run”,快捷键ctrl+enter(mac:command+enter)

#向量的生成,对单个/两个向量进行的操作,取子集,元素修改。

#####2.1.向量生成🌟#####

#(1)用 c() 结合到一起

c(2,5,6,2,9)

c("a","f","md","b")

#(2)连续的数字用冒号“:”

1:5

#(3)有重复的用rep(),有规律的序列用seq(),随机数用rnorm

rep("gene",times=3) 

seq(from=3,to=21,by=3)

rnorm(n=3)

#(4)通过组合,产生更为复杂的向量。

paste0(rep("gene",times=3),1:3)

简写: paste0("gene",1:3)

练习2-2: 向量生成

# 1.将两种不同类型的数据用c()组合在一起,看输出结果

c(1:8,"gene")

[1] "1"    "2"    "3"    "4"    "5"    "6"    "7"    "8"    "gene"

> c(1:8,TRUE)

[1] 1 2 3 4 5 6 7 8 1

# 2.生成1到30之间所有4的倍数,答案是

#4,8,12,16,20,24,28

seq(from=4,to=28,by=4)

# 3.生成sample4,sample8,sample12…sample28

# 提示:paste0

paste0("sample",seq(from=4,to=28,by=4))

#####2.2对单个向量进行的操作####

#(1)赋值给一个变量名

x = c(1,3,5,1) #随意的写法

x

x <- c(1,3,5,1) #规范的赋值符号Alt+减号

x

#赋值+输出同步运行

x <- c(1,3,5,1);x

(x <- c(1,3,5,1))

#(2)简单数学计算

x+1

log(x)

sqrt(x)

#(3)根据某条件进行判断,生成逻辑型向量

x>3

x==3

#(4)初级统计

max(x) #最大值

> max(x)

[1] 5

min(x) #最小值

> min(x) #最小值

[1] 1

> mean(x) #均值

[1] 2.5

> median(x) #中位数

[1] 2

> var(x) #方差

[1] 3.666667

> sd(x) #标准差

[1] 1.914854

> sum(x) #总和

[1] 10

> length(x) #长度

[1] 4

> unique(x) #去重复

[1] 1 3 5

> duplicated(x) #对应元素是否重复

[1] FALSE FALSE FALSE  TRUE

> table(x) #重复值统计

x

1 3 5

2 1 1

> sort(x)

[1] 1 1 3 5

#####2.3.对两个向量进行的操作#####

x = c(1,3,5,1)

y = c(3,2,5,6)

#(1)逻辑比较,生成等长的逻辑向量

x == y

> x == y

[1] FALSE FALSE  TRUE FALSE

x %in% y #x中的元素在y中吗

> x %in% y

[1] FALSE  TRUE  TRUE FALSE

#(2)数学计算

x + y

> x + y

[1]  4  5 10  7

#(3)“连接“

paste(x,y,sep="")

> paste(x,y,sep=":")

[1] "1:3" "3:2" "5:5" "1:6"

#(4)交集、并集、差集

intersect(x,y)

> intersect(x,y)

[1] 3 5

union(x,y)

> union(x,y)

[1] 1 3 5 2 6

setdiff(x,y)  #setdiff()R语言中的函数用于查找在第一个对象中但不在第二个对象中的元素。

> setdiff(x,y)

[1] 1

setdiff(y,x)

> setdiff(y,x)

[1] 2 6

#当两个向量长度不一致

> x == y

[1] FALSE FALSE  TRUE FALSE  TRUE

> #根据逻辑值取子集

x <- 8:12

> x[x==10]

[1] 10

> x[x<12]

[1]  8  9 10 11

> x[x %in% c(9,13)]

[1] 9

> #根据位置取子集

> x[4]

[1] 11

> x[2:4]

[1]  9 10 11

> x[c(1,5)]

[1]  8 12

> x[-4] 除了第四个以外的数

[1]  8  9 10 12

> x[-(2:4)]

[1]  8 12

####2.5.修改向量中的某个/某些元素:取子集+赋值

> x[4] <- 40

> x

[1]  8  9 10 40 12

> x[x>10] <- 10

> x

[1]  8  9 10 10 10

#### 2.6 简单向量作图

k1 = rnorm(12);k1

k2 = rep(c("a","b","c","d"),each = 3);k2

plot(k1)

boxplot(k1~k2)

> k1 = rnorm(12);k1

[1] -1.11243080  0.39807970  0.64010900 -1.20021492 -0.35768545

[6]  0.12871512 -0.36092576  0.41087563 -0.65320149 -1.96983669

[11]  0.03882537 -1.49252171

> k2 = rep(c("a","b","c","d"),each = 3);k2

[1] "a" "a" "a" "b" "b" "b" "c" "c" "c" "d" "d" "d"

plot(k1)

boxplot(k1~k2)

# 1.将基因名"ACTR3B","ANLN","BAG1","BCL2","BIRC5","RAB","ABCT","ANLN","BAD","BCF","BARC7","BALV"组成一个向量,赋值给x

> x <- c("ACTR3B","ANLN","BAG1","BCL2","BIRC5","RAB","ABCT","ANLN","BAD","BCF","BARC7","BALV")

> x

[1] "ACTR3B" "ANLN"  "BAG1"  "BCL2"  "BIRC5"  "RAB"    "ABCT" 

[8] "ANLN"  "BAD"    "BCF"    "BARC7"  "BALV"

# 2.用函数计算向量长度

> length(x)

[1] 12

# 3.用向量取子集的方法,选出第1,3,5,7,9,11个基因名。

> x[seq(from=1,to=11,by=2)]

[1] "ACTR3B" "BAG1"  "BIRC5"  "ABCT"  "BAD"    "BARC7"

# 4.用向量取子集的方法,选出除倒数第2个以外所有的基因名。

> x[-5]

[1] "ACTR3B" "ANLN"  "BAG1"  "BCL2"  "RAB"    "ABCT"  "ANLN" 

[8] "BAD"    "BCF"    "BARC7"  "BALV" 

# 4.用向量取子集的方法,选出除倒数第2个以外所有的基因名。

> x[-(length(x)-1)]

[1] "ACTR3B" "ANLN"  "BAG1"  "BCL2"  "BIRC5"  "RAB"    "ABCT" 

[8] "ANLN"  "BAD"    "BCF"    "BALV" 

# 5.用向量取子集的方法,选出出在c("ANLN", "BCL2","TP53")中有的基因名。

# 提示:%in%

> x[x%in%c("ANLN", "BCL2","TP53")]

[1] "ANLN" "BCL2" "ANLN"

# 6.修改第6个基因名为"a"并查看是否成功

> x[6] <- "a";x

[1] "ACTR3B" "ANLN"  "BAG1"  "BCL2"  "BIRC5"  "a"      "ABCT" 

[8] "ANLN"  "BAD"    "BCF"    "BARC7"  "BALV" 

#7.生成100个随机数: rnorm(n=100,mean=0,sd=18)

z = rnorm(n=100,mean=0,sd=18)

#将小于-2的统一改为-2,将大于2的统一改为2

z[z< -2] <- -2

z[z>2] <- 2

# 1.两个不同类型的向量合并在一起会怎么样?

# R会尽可能转换为相同类型数据,见2-2 回答。

# 2.如何将两个向量合到一起,组成一个长向量?

> a <- c(1,2,3)

> b <- c(4,5,6)

> c(a,b)

[1] 1 2 3 4 5 6

# 3.如何在向量首/尾/中间某位置增加一个元素?

a <- c(0,a)# 首

b <- c(b,7) # 尾

n=2 # 二号位

c(a[1:n-1],66,a[n:length(a)])

# 4.如果向量x和y内容一致但顺序不一致,如何按照x的顺序排列y?

x <- c(1,3,2)

y <- c(3,2,1)

y[match(x,y)]

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 1.建立一个向量x <- 8:122.根据逻辑值取子集x[x==10]x[x<12]x[x %in% c(9,13...
    PhageNanoenzyme阅读 627评论 0 0
  • 练习2-4 1.将基因名"ACTR3B","ANLN","BAG1","BCL2","BIRC5","RAB","...
    CyberPlanet阅读 645评论 0 0
  • 階段一學習總結 一、導學 1、日語文字組成:假名(平假名,片假名),漢字,羅馬字。 2、假名是日語中的表音文字。平...
    夜沐十四笙阅读 247评论 0 0
  • 1.BiocManager升级自己 BiocManager::install(version = "3.11") ...
    AsuraPrince阅读 683评论 0 1
  • 【案例】机械工程转学UCLA,学长都做了什么? 机械工程转学 机械工程转学转学UCLA,听到顾问老师这么说,K学长...
    求真崔老师阅读 91评论 0 0