R 關於資料框的函式

2021-06-26 14:18:26 字數 2202 閱讀 6341

►關於函式rbind()和cbind()

矩陣函式rbind()和cbind()也同樣可以用於資料框,前提是兩個資料框有相同的行數或者列數。例如,可以用cbind()向資料框中新增新的列,要求新的列與原有的列長度相同。用rbind()新增新行的時候,新增的行通常是資料框或者列表的形式。

> kids <- c( "jack", "jill" )

> ages <- c( 12, 10 )

> d <- data.frame( kids, ages, stringsasfactors=false )

> d

kids ages

1jack   12

2jill   10

> rbind( d, list( "laura", 19 ) )

kids ages

1jack   12

2jill   10

3laura   19

►合併資料框

在關係型資料庫的世界裡,最重要的乙個運算元合併,兩張表根據某個變數的值組合到一起。相似的,r語言裡兩個資料框也可以用merge()函式合併在一起。

最簡單的形式如下:merge( x,y )

假設資料框x和y有乙個或多個同名的列,上面這條語句可以合併這兩個資料框。例子如下:

> kids <- c( "jack", "jill", "john", "lily" )

> states <- c( "ca", "ma", "ma", "hi" )

> d1 <- data.frame( kids, states, stringsasfactors=false )

> ages <- c( 12, 10, 18, 24 )

> kids <- c( "jack", "jillian", "john", "lucy" )

> d2 <- data.frame( ages, kids, stringsasfactors=false )

> merge( d1, d2 )

kids states ages

1jack     ca   12

2john     ma   18

這兩個資料框都有變數kids。r在兩個資料框裡查詢kids變數值相同的行,再用查詢到的行和兩個資料框裡所有列,建立新的資料框。

函式merge()有兩個引數by.x和by.y,用於標示出兩個資料框裡含有相同資訊但名稱不同的兩個變數。例子如下:

> kids <- c( "jack", "jill", "john", "lily" )

> states <- c( "ca", "ma", "ma", "hi" )

> d1 <- data.frame( kids, states, stringsasfactors=false )

> ages <- c( 12, 10, 24 )

> pals <- c( "jack", "jillian", "jill" )

> d3 <- data.frame( ages, pals, stringsasfactors=false )

> merge( d1, d3, by.x="kids", by.y="pals" )

kids states ages

1jack     ca   12

2jill     ma   24

注:雖然在兩個資料框裡,兩個變數乙個名為kids,乙個名為pals,但兩個變數包含相同的資訊,所以這樣合併是有意義的。

重複匹配會在結果中全部出現,有時會得到錯誤的結果。

> kids <- c( "jack", "jill", "john" )

> states <- c( "ca", "ma", "hi" )

> d <- data.frame( kids, states, stringsasfactors=false )

$kids

[1] "jack" "jill" "john"

$states

[1] "ca" "hi" "ma"

注:結果是由兩個向量構成的列表,這兩個向量是排序後的

kids和states。結果只是列表,而不是資料框,可以把它強制轉化為資料框。

kids states

1jack     ca

2jill     hi

3john     ma

注:該例子沒有實際意義,已丟失了名字和住址的對應關係。

R 資料框操作

1.按條件提取某些樣本 data subj age presentation product choice 1 1 m 21 absdiff pillow y 2 1 m 21 absdiff table y 3 1 m 21 absdiff helmet y 4 1 m 21 absdiff ne...

R語言資料框

資料框的建立 通過data.frame函式來建立資料框,該函式包含的主要引數為 data.frame row.names null,check.rows false,check.names true,stringsasfactors default.stringsasfactors 建立乙個資料框 ...

R語言資料框

r語言學習日記 一 2019年3月30日 一 建立資料框 讀入txt csv等格式資料,自動生成資料框,資料編碼為utf 8 movie read.csv 電影資料.csv fileencoding utf 8 stringsasfactors f 檢視movie的資料型別 class movie ...