R語言基礎6講(一)

R語言基礎6講

R語言基礎課程 6講

第一講

1.0 前言

關於Rstudio的操作

設置樣式和字體

Tools>Global Options>Appearance
在這裏插入圖片描述下載包
Tools>Global Options>Packages 選擇地區
在這裏插入圖片描述Tools>Install Packages
在這裏插入圖片描述

簡單快捷鍵

CTRL+L 清屏
CTRL + SHIFT + ENTER 全部運行
CTRL + ENTER 運行光標所在代碼
CTRL + SHIFT + C 註釋

1.1 向量

產生向量函數--------c
向量切片跟python類似,唯一不同的是下標從1開始
注: 向量的刪除元素用v[-i]來表示,這裏的i是要刪除的下標位置,負號代表刪除的意思
which 函數返回符合要求的下標值

> v=c(1,4,4,3,2,2,3)# 創建一個向量

> v[c(2,3,4)] # 向量切片
[1] 4 4 3

> v[2:4] 
[1] 4 4 3

> v[c(2,4,3)]
[1] 4 3 4

> v[-2] # 向量刪除序列號爲2的值,返回新的向量,不改變原來的
[1] 1 4 3 2 2 3

> v[-2:-4] 
[1] 1 2 2 3

> v[v<3] # 返回所有小於3的元素
[1] 1 2 2

> which(v==3)#返回 等於3的數的序列號
[1] 4 7

> which.max(v) # 返回最大值序列號 第一個
[1] 2

> which.min(v) # 返回最小值序列號 第一個
[1] 1

1.2 隨機數

set.seed的作用是設置隨機數種子,我們可以看到,相同的隨機數種子所產生的隨機數序列是有着一定的順序的
runif(n,min=0,max=1)生成均勻分佈隨機數)n表示生成的隨機數數量,min表示均勻分佈的下限,max表示均勻分佈的上限;若省略參數則默認生成[0,1]上的均勻分佈隨機數。
其他的隨機數生成方法可以自行百度
用R生成隨機數

> set.seed(250) #隨機數種子
> a = runif(3,min=0,max=100)
> a
[1] 26.54018 77.90907 16.90836
> set.seed(125)
> a = runif(3,min=0,max=100)
> a
[1] 82.46744 11.68510 29.97806
> a = runif(3,min=0,max=100)
> a
[1] 35.65607 96.51950 96.75605
> a = runif(3,min=0,max=100)
> a
[1] 53.30924 33.21555 65.38438
> set.seed(250)
> a = runif(3,min=0,max=100)
> a
[1] 26.54018 77.90907 16.90836
> a = runif(3,min=0,max=100)
> a
[1] 84.26782 79.99474 96.74011
> set.seed(125)
> a = runif(3,min=0,max=100)
> a
[1] 82.46744 11.68510 29.97806
> a = runif(3,min=0,max=100)
> a
[1] 35.65607 96.51950 96.75605

floor函數向下取整 直接去掉小數位
ceiling函數向上取整 只要有小數就進一
round保留小數

> floor(a)
[1] 26 77 16
> ceiling(a)
[1] 27 78 17
> round(a,4)
[1] 26.5402 77.9091 16.9084

注: 使用?round??round可以查看文檔幫助

1.3 讀取文件

R語言中使用read.csv read.table等方式來讀取文件
我們先讀取網上的一段信息,比較table和csv的區別

> data1 = read.csv('http://www.macalester.edu/~kaplan/ISM/datasets/swim100m.csv')
> data2 = read.table('http://www.macalester.edu/~kaplan/ISM/datasets/swim100m.csv')

在這裏插入圖片描述數據讀完後,我們可以看到csv讀取的數據只有62行,而table讀取的數據只有1列,下面詳細的看一下到底是什麼情況
在這裏插入圖片描述
在這裏插入圖片描述
我們發現read.taoble在讀取的時候將標題行(第一行也算入了數據中)
read.csv確沒有這樣,他默認把第一行當做標題行來對待

attach可以講上述數據中的列名轉化爲變量名來使用 ,如下

> data1 = read.csv('http://www.macalester.edu/~kaplan/ISM/datasets/swim100m.csv')
> year
錯誤: 找不到對象'year'
> attach(data1)
> year
 [1] 1905 1908 1910 1912 1918 1920 1922 1924 1934 1935 1936 1944 1947 1948 1955 1957 1961 1964 1967
[20] 1968 1970 1972 1975 1976 1981 1985 1986 1988 1994 2000 2000 1908 1910 1911 1912 1915 1920 1923
[39] 1924 1926 1929 1930 1931 1933 1934 1936 1956 1958 1960 1962 1964 1972 1973 1974 1976 1978 1980
[58] 1986 1992 1994 2000 2004

1.4 簡單畫圖

> set.seed(123)
> x=rnorm(100,mean = 100,sd = 10)
> set.seed(234)
> y=rnorm(100,mean = 100,sd = 10)
> hist(x,breaks = 20)

在這裏插入圖片描述
注:直方圖的繪製

直方圖繪製參數介紹

plot(density(x)) #density計算密度

在這裏插入圖片描述

plot(x) # 散點圖

在這裏插入圖片描述

boxplot(x,y) # 箱圖

在這裏插入圖片描述
注:QQ圖可以幫我們鑑別樣本的分佈是否近似於某種類型的分佈

  • qqnorm函數繪製正態分佈的QQ圖

  • qqline函數用於繪製QQ圖的近似直線,其解析式爲y=ax+b,a是正態分佈的標準差,b爲均值

qqnorm(x)
qqline(x)

在這裏插入圖片描述

qqplot(x,y)

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章