2020-11-17 R语言入门笔记(1)向量

#脚本与ppt对应 
#运行脚本:光标放在某一行,点”run”,快捷键ctrl+enter(mac:command+enter)
#向量的生成,对单个/两个向量进行的操作,取子集,元素修改。

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

#(1)用 c() 结合到一起  #将五个数据(可以是数值型也可以是字符串型)合在一起
c(2,5,6,2,9) 
c("a","f","md","b")
c(d,m)
#(2)连续的数字用冒号“:” 
1:5   #1到5
1:100  
8:1
#(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)   #重复gene三次,从1到3
#paste0 将“gene”和“1”连接在了一起

#练习题



# 练习2-2: 向量生成
# 1.将两种不同类型的数据用c()组合在一起,看输出结果
c(2,5,6,2,9,"f","md","b")
# 2.生成1到30之间所有4的倍数,答案是
#4,8,12,16,20,24,28
seq(from=4,to=30,by=4)
# 3.生成sample4,sample8,sample12…sample28
# 提示:paste0
paste0(rep("sample",times=7),seq(from=4,to=30,by=4))
paste0(rep("sample",times=9),seq(from=4,to=30,by=4))
paste0(rep("sample",times=10),seq(from=4,to=30,by=4))
paste0(rep("sample"),seq(from=4,to=30,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) #最大值
min(x) #最小值
mean(x) #均值
median(x) #中位数
var(x) #方差
sd(x) #标准差
sum(x) #总和

length(x) #长度  #向量的长度,就是向量的元素个数
#回忆刚刚的
paste0(rep("sample",length(seq(from=4,to=30,by=4))),seq(from=4,to=30,by=4))
unique(x) #去重复
duplicated(x) #对应元素是否重复  
#没有重复出现的就FLASE】

!duplicated(x)
##没有重复出现的就TRUE
table(x) #重复值统计
sort(x)  #从小到大的排序
sort(x,decreasing = T )  #实现从大到小的排序

#####2.3.对两个向量进行的操作#####
x = c(1,3,5,1)
y = c(3,2,5,6,0,9)
#(1)逻辑比较,生成等长的逻辑向量
x == y 
x %in% y #x中的元素在y中吗 #前面的向量的每一个元素是否在后面

y == x
y %in% x
#存在的就是TRUE
#(2)数学计算
x + y
#(3)“连接“
paste(x,y,sep=":")
#与paste0不是同一个
#sep表示分隔符是:
#(4)交集、并集、差集
intersect(x,y)  #交集
union(x,y)
setdiff(x,y) #x里面有y没有的
setdiff(y,x)  #y里面有x里面没有的
#当两个向量长度不一致
x = c(1,3,5,6,2)
y = c(3,2,5,7,6,6,6,6)
x == y # 啊!warning!
#两个长度不一致的向量进行循环的时候短的向量会自动补齐长的向量
#循环补齐--看ppt

#利用循环补齐简化代码
paste0(rep("gene",3),1:3)
paste0("gene",1:3)  #类似于将“gene”看做长度为1的向量

#####2.4.向量筛选(取子集)--看ppt#####

x <- 8:12
#根据逻辑值取子集
x[x==10]    #将判断为TRUE的结果挑选出来
x[x<12]
x[x %in% c(9,13)]
#根据位置取子集
#R语言的下标从1开始
x[4]
x[2:4]
x[c(1,5)]  #取第一位和第五位
x[(1:5)]   #从第一位到第五位
x[1,5]
x[-4]
x[-(2:4)]

####2.5.修改向量中的某个/某些元素:取子集+赋值
x[4] <- 40
x
x[x>10] <- 10
x   #将>10的都改成10

#### 2.6 简单向量作图
k1 = rnorm(12)
k2 = rep(c("a","b","c","d"),each = 3)
plot(k1)
boxplot(k1~k2)


## 一、介绍

盒图是在1977年由美国的统计学家约翰·图基(John Tukey)发明的。它由五个数值点组成:最小值(min),下四分位数(Q1),中位数(median),上四分位数(Q3),最大值(max)。也可以往盒图里面加入平均值(mean)。如上图。下四分位数、中位数、上四分位数组成一个“带有隔间的盒子”。上四分位数到最大值之间建立一条延伸线,这个延伸线成为“胡须(whisker)”。

由于现实数据中总是存在各式各样地“脏数据”,也成为“离群点”,于是为了不因这些少数的离群数据导致整体特征的偏移,将这些离群点单独汇出,而盒图中的胡须的两级修改成最小观测值与最大观测值。这里有个经验,就是最大(最小)观测值设置为与四分位数值间距离为1.5个IQR(中间四分位数极差)。即IQR = Q3-Q1,即上四分位数与下四分位数之间的差,也就是盒子的长度。
最小观测值为min = Q1 - 1.5*IQR,如果存在离群点小于最小观测值,则胡须下限为最小观测值,离群点单独以点汇出。如果没有比最小观测值小的数,则胡须下限为最小值。

最大观测值为max = Q3 +1.5*IQR,如果存在离群点大于最大观测值,则胡须上限为最大观测值,离群点单独以点汇出。如果没有比最大观测值大的数,则胡须上限为最大值。

![image](https://upload-images.jianshu.io/upload_images/25072282-0e45b012800afd75?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![image](https://upload-images.jianshu.io/upload_images/25072282-ad5a22f8e7d6504a?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 

通过盒图,在分析数据的时候,盒图能够有效地帮助我们识别数据的特征:直观地识别数据集中的异常值(查看离群点)。判断数据集的数据离散程度和偏向(观察盒子的长度,上下隔间的形状,以及胡须的长度)。
1.箱体的左侧(下)边界代表第一四分位(Q1),而右侧(上)边界代表第三四分位(Q3)。至于箱体部分代表四分位距(IQR),也就是观测值的中间50%值。
2.在箱体中间的线代表的是数据的中位数值。
3.从箱体边缘延伸出去的直线称为触须(whisker).触须(whisker)的向外延伸表示了数据集中的最大和最小(异常点除外)。

4.极端值或异常点(outlier),用星号(*)来标识.如果一个值位于箱体外面(大于Q3或小于Q1),并且距离相应边界大于1.5倍的IQR,那么这个点就被认为是一个异常点(outlier)。

## 二、使用

matlab中:

1、随机数列

X = randn(100,25); %随机产生100*25 double数据

subplot(2,1,1);
boxplot(X) 
subplot(2,1,2);
boxplot(X,'plotstyle','compact')

结果如下:

![image](https://upload-images.jianshu.io/upload_images/25072282-40f37ff3bc1f0f20?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 

2、m*n已知数据:

x=[0.7582 0.9809 0.9089 0.9841
   0.9529 0.9365 0.8307 0.8270
   0.9254 0.7601 0.9708 0.8859
   0.8475 0.9449 0.9100 0.9198 
   0.8599 0.9539 0.7721 0.7754]
subplot(2,1,1);
boxplot(x) 
subplot(2,1,2);

boxplot(x,'plotstyle','compact')

结果:

[图片上传中...(image-d91e7f-1605625695503-0)] 

一列是一组。

boxplot

一、介绍

盒图是在1977年由美国的统计学家约翰·图基(John Tukey)发明的。它由五个数值点组成:最小值(min),下四分位数(Q1),中位数(median),上四分位数(Q3),最大值(max)。也可以往盒图里面加入平均值(mean)。如上图。下四分位数、中位数、上四分位数组成一个“带有隔间的盒子”。上四分位数到最大值之间建立一条延伸线,这个延伸线成为“胡须(whisker)”。

由于现实数据中总是存在各式各样地“脏数据”,也成为“离群点”,于是为了不因这些少数的离群数据导致整体特征的偏移,将这些离群点单独汇出,而盒图中的胡须的两级修改成最小观测值与最大观测值。这里有个经验,就是最大(最小)观测值设置为与四分位数值间距离为1.5个IQR(中间四分位数极差)。即IQR = Q3-Q1,即上四分位数与下四分位数之间的差,也就是盒子的长度。
最小观测值为min = Q1 - 1.5*IQR,如果存在离群点小于最小观测值,则胡须下限为最小观测值,离群点单独以点汇出。如果没有比最小观测值小的数,则胡须下限为最小值。

最大观测值为max = Q3 +1.5*IQR,如果存在离群点大于最大观测值,则胡须上限为最大观测值,离群点单独以点汇出。如果没有比最大观测值大的数,则胡须上限为最大值。

image
image

通过盒图,在分析数据的时候,盒图能够有效地帮助我们识别数据的特征:直观地识别数据集中的异常值(查看离群点)。判断数据集的数据离散程度和偏向(观察盒子的长度,上下隔间的形状,以及胡须的长度)。
1.箱体的左侧(下)边界代表第一四分位(Q1),而右侧(上)边界代表第三四分位(Q3)。至于箱体部分代表四分位距(IQR),也就是观测值的中间50%值。
2.在箱体中间的线代表的是数据的中位数值。
3.从箱体边缘延伸出去的直线称为触须(whisker).触须(whisker)的向外延伸表示了数据集中的最大和最小(异常点除外)。

4.极端值或异常点(outlier),用星号(*)来标识.如果一个值位于箱体外面(大于Q3或小于Q1),并且距离相应边界大于1.5倍的IQR,那么这个点就被认为是一个异常点(outlier)。

二、使用

matlab中:

1、随机数列

X = randn(100,25); %随机产生100*25 double数据

subplot(2,1,1);
boxplot(X)
subplot(2,1,2);
boxplot(X,'plotstyle','compact')

结果如下:

image

2、m*n已知数据:

x=[0.7582 0.9809 0.9089 0.9841
0.9529 0.9365 0.8307 0.8270
0.9254 0.7601 0.9708 0.8859
0.8475 0.9449 0.9100 0.9198
0.8599 0.9539 0.7721 0.7754]
subplot(2,1,1);
boxplot(x)
subplot(2,1,2);

boxplot(x,'plotstyle','compact')

结果:

image

一列是一组。

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

推荐阅读更多精彩内容