R語言實戰學習筆記(三)基本資料管理

2021-09-30 01:46:17 字數 2778 閱讀 6023

在乙個資料框裡面加入新的變數的方法有三種,第一種是直接$引用新增,一種是用attach()detach(),第三種是用transform()函式。具體例子如下:

#mydata裡面已經存在x1和x2兩個變數

#方法一

mydata$sumx<

-mydata$x1+mydata$x2

mydata$meanx<

-(mydata$x1+mydata$x2)/2

#方法二

attach(mydata)

mydata$sumx<

-x1+x2

mydata$meanx<

-(x1+x2)/2

detach(mydata)

#方法三

mydata<

-transform(mydata,

sumx<

-x1+x2,

meanx<

-(x1+x2)/2

)

重編碼就是根據現有的變數建立新的變數,比如將連續型變數修改為一組類別,將誤編碼替換正確,通常的表示方法是,variable[condition] <- expression具體l例子如下:

#原資料框中,有age,無agecat

leadership$agecat[leadership$age>75]

<

-"elder"

leadership$agecat[leadership$age>=

55&leadership$age<=75]

<

-"middle aged"

leadership$agecat[leadership$age<55]

<

-"young"

這段**,可以簡寫為

leadership <

- within(leadership,

)

重新命名的方法有,用fix()互動編輯,用names(leadership)[2] <- 「testdata」,將leadership裡的第二個變數名稱改為testdata

缺失值用符號na表示,可以用函式is.na()來進行判斷,返回true或者false,注意,無限或者不可能出現的值用nan表示,判斷函式是is.infinite()或者is,nan()。

在計算中,很多函式可以移除na,比如sum函式,在引數中新增na.rm=true即可得到移除了na之後的總數,除此之外,可以用na.omit()移除含有na的行。

日期通常用as.date(x,「input_format」)來進行轉換,x為資料,後面為格式,預設是輸入格式為yyyy-mm-dd

符號含義

%d數字表示的日期(1-31)

%a縮寫的星期名

%a非縮寫的星期名

%m月份(00-12)

%b縮寫的月份

%b非縮寫的月份

%y兩位數的年份

%y四位數的年份

還有一些關於日期的函式,sys.date()表示獲取當前的"2019-11-27",date()表示獲取當前的"wed nov 27 16:32:01 2019"。對於已經得到了的日期,可以用format函式來讀取日期中指定的資料,例如:

> today <

- sys.date(

)>

format

(today,

format

="%b/%d/%y")[

1]"november/27/2019"

>

format

(today,

format

="%a")[

1]"wednesday"

日期可以直接加減,得到的是相差的天數,另外還可以用函式difftime()來計算時間間隔,並可以以星期,天,時,分,表等方式來表示difftime(x,y,units)第乙個引數表示用來去減的數,第二個引數是被減數,第三個引數是時間間隔顯示的方式,第三個引數units可以是"auto",「secs」,「mins」,「hours」,「days」,「weeks」

> today <

- sys.date(

)> dob <-as

.date(

"1992-11-23"

)> difftime(today,dob,units=

"days"

)time difference of 9865 days

> difftime(today,dob,units=

"weeks"

)time difference of 1409.286 weeks

> difftime(today,dob,units=

"secs"

)time difference of 852336000 secs

判斷

轉換is.numeric() 是否數值型資料

as.numeric()

is.character() 是否字元型資料

as.character()

is.vector() 是否向量資料

as.vector()

is.matrix() 是否矩陣資料

as.matrix()

is.data.frame() 是否資料框資料

as.data.frame()

is.factor() 是否因子資料

as.factor()

is.logical() 是否邏輯型資料

as.logical()

《R語言實戰》閱讀筆記(一) R語言介紹

資料分析科學 統計學 計量心理學 計量經濟學 機器學習 的發展一直與資料的 式增長保持同步。典型的資料分析步驟 r是一種區分大小寫的解釋型語言。一次互動會話期間的所有資料物件都被儲存在記憶體中,一些基本函式是預設直接可用的,而其他高階函式則包含於按需載入的程式包中。r語句由函式和賦值構成。r使用來進...

R語言 基本資料分析

本文基於r語言進行基本資料統計分析,包括基本作圖,線性擬合,邏輯回歸,bootstrap取樣和anova方差分析的實現及應用。不多說,直接上 中有注釋。1.基本作圖 盒圖,qq圖 basic plot boxplot x qqplot x,y 2.線性擬合 linear regression n 1...

r 滿足條件的行賦值 R語言實戰學習

r語言實戰 中文電子版 提取碼 lx35 已經學習打卡r語言22天了,可以說是初窺真容 基本了解r的資料和函式 作為程式語言,就是要多練習,多領悟,在實戰中發現問題並解決問題。所以,就以 r語言實戰 為基礎,開始r語言實戰學習,爭取再過乙個月,能夠熟練掌握科研中所需的基本繪圖 和統計學計算,並且熟悉...