R語言學習記錄 1

2021-09-28 17:43:29 字數 3152 閱讀 4644

#匯入資料,path為路徑

path = 'c:\\users\\administrator\\desktop\\demo.csv'

data = read.csv(path,header = t)

head(data)

summary(data)

attach(data)#將每一列賦給乙個向量,向量名為列名

adetach(data)#取消賦值

a#資料的中心化處理

x = c(1,2,3,6,3)

m = mean(x)

x - m

#資料的標準化是指資料除以資料集的標準差

"""在r語言中可以使用scale方法來對資料進行中心化和標準化,

scale方法中的兩個引數center和scale的解釋:center和scale預設為真,

center為真表示資料中心化,scale為真表示資料標準化.

"""options(digits = 3)#限定輸出小數點後數字的位數為3位

df = c(1,2,3,6,3)

scale(df,center = t,scale = f)#資料只中心化

scale(df,center = f,scale = t)#資料只標準化

scale(df,center = t,scale = t)#資料既中心化也標準化

#r 中繪製箱線圖的函式是boxplot( )

op = par(mfrow = c(1,4))

x=rnorm(100)#生成100個標準正態分佈的隨機數

y=rt(100,6) #生成100個自由度為6的t分布的隨機數

boxplot(x)#畫出x的箱線圖

boxplot(x,y) #畫出x與y的箱線圖

boxplot(x,y,names=c("a","b"))

boxplot(x,y,names=c("a","b"),col=c(2,6))

par(op)

#以例3.1.2中資料為例,作出三個公司員工月收入情況的箱圖.

boxplot(data)

#r 中還有乙個關於莖葉圖的函式 stem( ),但此函式不是繪圖函式,

其輸出結果不是顯示在圖形視窗中,而是顯示在 r 的控制台中.

x = c(64,63,63,65,65,64,67,68,67,69,71,71,72,73,75,75,79,79,58,59,58,57,81,86,86,86,91,94,92,93,97,97,96,92,92,91,91,68,69,67,69,77)

x1 = rbinom(25,100,0.6)

stem(x)

stem(x1)

stem(data)#報錯error in stem(data) : 'x'必需為數值

#r 的函式 hist( )用來繪製樣本的直方圖.

#hist( )的一般用法為

hist(x, breaks = "sturges", freq = null, probability = !freq, include.lowest = true, right = true, density = null, angle = 45, col = null)

#其中:x 是由樣本值構成的向量;

breaks =規定直方圖的組距,其值可取向量,給出各組組限數,給出等距分組組數字串,給出計算等距分組組數的演算法的名稱("sturges"(預設情況)、"scott"、"fd")

freq =規定直方圖的型別的邏輯值,取 t表示頻數分布直方圖(預設),取 f 表示頻率密度直方圖.

density =規定在矩形內的陰影線密度,預設為沒有陰影線.

angle =規定在矩形內的陰影線角度,預設為 45 度.

col =規定在矩形內的填充顏色,在用陰影線填充時,陰影線顏色.

#以正態分佈為例,取600個標準正態分佈的隨機數,將組距逐漸縮小,做頻數直方圖.

x=c(rnorm(600))

op=par(mfrow=c(2,3))

hist(x,breaks =4,col = 4)#分成等距的4個區間作直方圖

hist(x,breaks =8,col = 5) #分成等距的8個區間作直方圖

hist(x,breaks =20,col = 1); hist(x,breaks =30,col = 3)

hist(x,breaks =50,col = 7); hist(x,breaks =100,col = )

par(op)

#關於其它引數的設定

x=rnorm(600)

op=par(mfrow=c(1,4))

hist(x,freq=f,label=t)

hist(x, freq=f,density=10,angle=60,col=3,border=4,label=t)

hist(x, freq=f , breaks =30,border=2)

hist(x, freq=f ,col=2, breaks =60,border=4)

par(op)

#另外,可以再頻率直方圖中新增樣本的正態曲線,或是核密度估計,

通過函式dnorm()和density來實現,其中 lines( )是畫曲線的低階繪圖函式,dnorm( )函式是用來計算正態分佈的密度函式值.

同理,對於指數分布的隨機數,作出頻率直方圖後可在圖上標出他的密度曲線和核密度估計曲線.例如分別執行下列兩段程式

w=rnorm(400)

hist(w,freq=f)

x=seq(min(w),max(w),0.2)

lines(x,dnorm(x,mean(w),sd(w)),col='red')

lines(density(w),col='blue')

x=rexp(600,0.01)

hist(x,freq=f)

w=c(0:600)

lines(w,dexp(w,1/mean(x)),col=2)

lines(density(x),col='blue')

#以例3.1.2中的資料為例,可以三個公司員工月收入的頻率直方圖來進行比較.

attach(data)

op=par(mfrow=c(1,3))

hist(a,freq=f,)

hist(b, freq=f,)

hist(c, freq=f,)

par(op)

R語言學習記錄 2

學習如何構造r函式 難度提公升 構造統計分布 避免命名衝突 例如,定義函式f01為引數為a的指數分布的密度函式,定義f02為該指數分布的分布函式,取a 1 5,進行計算,可以看出,三種計算結果基本一致.f01 function x,a f01 5,1 5 f02 function x,a c 3 c...

記錄R語言學習之路

是第一次開始系統學習程式語言,用來記錄遇到的比較有用的功能 基本語法 setwd 設定工作資料夾 getwd 檢視現在的資料夾。也可以用session set working dictionary修改工作資料夾 read.txt read.csv read.table url address 用來讀...

R語言學習筆記1

1 中文文字挖掘軟體包 tmcn 2 用來消除兩向量 列表 資料框等中的相同行或列用函式 setdiff 3 建立乙個空陣列,用來裝不確定長度資料用方法 a 4 將字串格式日期轉換為date格式用函式 as.date 以數值形式儲存,對於r中規定的標準格式 年 月 日或者 年 月 日,則可以不需要用...