tft每日頭條

 > 科技

 > r語言數據彙總

r語言數據彙總

科技 更新时间:2024-12-24 02:36:22

【實驗目的】

1)熟悉R語言的基本數據類型

2)熟悉R語言的基本操作

3)熟悉R語言列表的主要運算函數

【實驗原理】

在R語言裡操作和接觸的所有東西都稱作對象(object)。對象有很多種類 可以包含各種類型的數據。R 語言裡所有的東西都被稱為對象,R語言中常見的數據類型有幾下幾種,分别是字符型 (character)、數值型 (numeric)、複數型 (complex)以及邏輯型 (logical)。通過mode()函數可以查看一個對象的類型。

R語言中的基本運算包括以下:數學計算,比較運算,運算函數,向量常用統計函數,矩陣常用函數集合運算,向量化,從文件中讀取數據,概率分布,循環和條件操作。

R語言的數據對象主要包括向量(vector),矩陣(matrix),因子(factors),列表(list),數據框(data frame),函數( function)。 列表是R語言對象,它包含不同類型的元素,如數字,字符串,向量和其中的另一個列表。 列表還可以包含矩陣或函數作為其元素。 列表是使用list()函數創建的。

【實驗環境】

本次環境是:win7 64位系統 R 3.3.3

【實驗步驟】

一、打開R語言的界面

1.1雙擊桌面上的程序R x64 3.3.3,出現如下畫面,則打開成功。如圖1所示

r語言數據彙總(R語言基本數據對象之列表了解)1

二、列表

2.1列表介紹

列表是一種特别的對象集合,它的元素也由序号(下标)區分,但是各元素的類型可以是任意對象,不同元素不必是同一類型。元素本身允許是其它複雜數據類型,比如,列表的一個元素也允許是列表

2.2 列表的創建

向量、矩陣和數組的元素必須是同一類型的數據。一個數據對象需要包含不同的數據類型,它可以采用列表這種形式。

創建列表可用list()函數,語法是:list(name1 = component1, name2 = component2, ...)。

看下例,使用list()創建了一個名為"rec"的列表,内容包括名字,年齡,考試分數。

r語言數據彙總(R語言基本數據對象之列表了解)2

2.3 查看列表元素。

列表元素總可以用“列表名[[下标]]”的格式引用,注意:列表不同于向量,我們每次隻能引用一個元素,如rec[[1:2]]的用法是不允許的。

“列表名[下标]”或“列表名[下标範圍]”的用法也是合法的,但其意義與用兩重括号的記法完全不同,兩重記号取出列表的一個元素,結果與該元素類型相同,如果使用一重括号,則結果是列表的一個子列表(結果類型仍為列表)。

r語言數據彙總(R語言基本數據對象之列表了解)3

2.4使用名字作為下表引用元素。

在定義列表時如果指定了元素的名字(如rec中的name,age,scores),則引用列表 元素還可以用它的名字作為下标,格式為“列表名[["元素名"]]”

r語言數據彙總(R語言基本數據對象之列表了解)4

2.5 使用“列表名$元素名”取列表元素

其中“元素名”可以簡寫到與其它元素名能夠區分的最短程度,比如“rec$s”可以代表“rec$score”。這種寫法方便了交互運行,編寫程序時一般不用簡寫以免降低程序的可讀性。

r語言數據彙總(R語言基本數據對象之列表了解)5

三、列表

3.1 列表的修改。

列表的元素可以修改,隻要把元素引用賦值即可。

r語言數據彙總(R語言基本數據對象之列表了解)6

可以任意修改一個列表元素

r語言數據彙總(R語言基本數據對象之列表了解)7

3.2 列表元素修改

如果被賦值的元素原來不存在,則列表延伸以包含該新 元素。例如,rec現在共有三個元素,我們定義一個新的命名元素,則列表長度變為4,再定 義第六号元素則列表長度變為6,第五号元素因為沒有定義所有其值是“NULL”,這是空對象的記号。如果rec是一個向量 ,則其空元素為“NA”,這是缺失值的記号。從這裡我們也可以體會“NULL”與“NA”的區 别。

r語言數據彙總(R語言基本數據對象之列表了解)8

列表的連接

列表的連接。

幾個列表可以用連接函數c()連接起來,結果仍為一個列表,其元素為各自變量的列表元素。

r語言數據彙總(R語言基本數據對象之列表了解)9

幾個返回列表的例子

列表的重要作用是把相關的若幹數據保存在一個數據對象中,這樣在編寫函數時,我們就可以返回這樣一個包含多項輸出的列表。因為函數的返回結果可以完整地存放在一個列表中,我們可以繼續對得到的結果進行分析。下面給出幾個返回列表的例子。

特征值和特征向量。

函數eigen(x)對對稱矩陣x計算其特征值和特征向量,返回結果為一個列表,列表的 兩個成員(元素)為values和vectors。注:%o% 中間的為字母’o’

r語言數據彙總(R語言基本數據對象之列表了解)10

可見三個特征值隻有第一個不為零(由于數值計算精度所限,第三個特征值應為零但結果隻是近似為零)。特征向量按矩陣存放,每一列為一個特征向量。

奇異值分解。

函數svd(x)進行奇異值分解 ,其中x是任意陣,可以為正交陣,可以為正交陣,可以為對角陣(隻有主對角線元素不為零)。svd(x) 返回有三個成員d,u,v的列表,d為包含奇異值的向量(即x的主對角線元素),u,v分别為上面的兩個正交陣

r語言數據彙總(R語言基本數據對象之列表了解)11

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved