►關於函式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 ...