精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
6.數(shù)據(jù)框(data.frame)

數(shù)據(jù)框(data.frame)

數(shù)據(jù)框是S中類似SAS數(shù)據(jù)集的一種數(shù)據(jù)結(jié)構(gòu)。它通常是矩陣形式的數(shù)據(jù),但矩陣各列可以是不同類型的。數(shù)據(jù)框每列是一個變量,每行是一個觀測。

但是,數(shù)據(jù)框有更一般的定義。它是一種特殊的列表對象,有一個值為“data.frame”的class 屬性,各列表成員必須是向量(數(shù)值型、字符型、邏輯型)、因子、數(shù)值型矩陣、列表,或其它數(shù)據(jù)框。向量、因子成員為數(shù)據(jù)框提供一個變量,如果向量非數(shù)值型則會被強制轉(zhuǎn)換為因子,而矩陣、列表、數(shù)據(jù)框這樣的成員為新數(shù)據(jù)框提供了和其列數(shù)、成員數(shù)、變量數(shù)相同個數(shù)的變量。作為數(shù)據(jù)框變量的向量、因子或矩陣必須具有相同的長度(行數(shù))。

盡管如此,我們一般還是可以把數(shù)據(jù)框看作是一種推廣了的矩陣,它可以用矩陣形式顯示,可以用對矩陣的下標引用方法來引用其元素或子集。

數(shù)據(jù)框生成

數(shù)據(jù)框可以用data.frame()函數(shù)生成,其用法與list()函數(shù)相同,各自變量變成數(shù)據(jù)框的成分,自變量可以命名,成為變量名。例如:

> d <- data.frame(name=c("李明", "張聰", "王建"), age=c(30, 35, 28),+      height=c(180, 162, 175))> d  name age height1 李明  30    1802 張聰  35    1623 王建  28    175

如果一個列表的各個成分滿足數(shù)據(jù)框成分的要求,它可以用as.data.frame()函數(shù)強制轉(zhuǎn)換為數(shù)據(jù)框。比如,上面的d如果先用list()函數(shù)定義成了一個列表,就可以強制為一個數(shù)據(jù)框。

一個矩陣可以用data.frame()轉(zhuǎn)換為一個數(shù)據(jù)框,如果它原來有列名則其列名被作為數(shù)據(jù)框的變量名,否則系統(tǒng)自動為矩陣的各列起一個變量名(如X1,X2)。

數(shù)據(jù)框引用

引用數(shù)據(jù)框元素的方法與引用矩陣元素的方法相同,可以使用下標或下標向量,也可以使用名字或名字向量。如d[1:2, 2:3]。數(shù)據(jù)框的各變量也可以用按列表引用(即用雙括號[[]] 或$符號引用)。

數(shù)據(jù)框的變量名由屬性names定義,此屬性一定是非空的。數(shù)據(jù)框的各行也可以定義名字,可以用rownames屬性定義。如:

> names(d)[1] "name"   "age"    "height"> rownames(d)[1] "1" "2" "3"

attach()函數(shù)

數(shù)據(jù)框的主要用途是保存統(tǒng)計建模需要的數(shù)據(jù)。S的統(tǒng)計建模功能都需要以數(shù)據(jù)框為輸入數(shù)據(jù)。我們也可以把數(shù)據(jù)框當成一種矩陣來處理。

在使用數(shù)據(jù)框的變量時可以用“數(shù)據(jù)框名$變量名”的記法。但是,這樣使用較麻煩,S提供了attach()函數(shù)可以把數(shù)據(jù)框“連接”入當前的名字空間。例如,

> attach(d)

> r <- height / age

后一語句將在當前工作空間建立一個新變量r,它不會自動進入數(shù)據(jù)框d,要把新變量賦值到數(shù)據(jù)框中,可以用

> d$r <- height / age

這樣的格式。

為了取消連接,只要調(diào)用detach()(無參數(shù)即可)。

注意:S和R中名字空間的管理是比較獨特的。它在運行時保持一個變量搜索路徑表,在讀取某個變量時到這個變量搜索路徑表中由前向后查找,找到最前的一個;在賦值時總是在位置1賦值(除非特別指定在其它位置賦值)。attach()的缺省位置是在變量搜索路徑表的位置2 ,detach()缺省也是去掉位置2。所以,S編程的一個常見問題是當你誤用了一個自己并沒有賦值的變量時有可能不出錯,因為這個變量已在搜索路徑中某個位置有定義,這樣不利于程序的調(diào)試,需要留心這樣的問題。

除了可以連接數(shù)據(jù)框,也可以連接列表。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
R語言dataframe匯總
R語言學(xué)習(xí)筆記
收藏|零基礎(chǔ)學(xué)R之數(shù)據(jù)結(jié)構(gòu),一個學(xué)習(xí)R的理由足夠
r語言中mpg數(shù)據(jù)
R語言入門
Mathcad的數(shù)組使用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服

主站蜘蛛池模板: 阿勒泰市| 水富县| 呼伦贝尔市| 喀喇沁旗| 玛曲县| 龙川县| 襄樊市| 托里县| 新昌县| 静宁县| 巴彦县| 长垣县| 措勤县| 海林市| 南召县| 太白县| 正镶白旗| 洛阳市| 马尔康县| 大宁县| 将乐县| 固始县| 那坡县| 乐亭县| 霍林郭勒市| 麻城市| 宿州市| 宜春市| 乐陵市| 恩施市| 海安县| 崇明县| 桦南县| 崇礼县| 张掖市| 望谟县| 共和县| 江口县| 南昌县| 阿坝| 中宁县|