R語言-創(chuàng)建基礎(chǔ)數(shù)據(jù)表

一、R中的包

1、定義

包:是R函數(shù)、數(shù)據(jù)、預編譯代碼以一種定義完善的格式組成的集合。
庫(library):計算機上存儲包的目錄 。

顯示庫所在的位置
.libPaths()
顯示庫中有哪些包:
library()
查詢哪些包已加載并可使用:
search()

2、包的安裝與載入

安裝vcd包
install.packages("vcd")
載入vcd包
library(vcd)
更新已經(jīng)安裝的包
update.packages()
注意:一個包僅需要安裝一次,但每次使用時需重新載入;在一個會話中,包只需載入一次。

輸出某個包的簡短描述以及包中的函數(shù)名稱和數(shù)據(jù)集名稱的列表:
help(package="package_name")
查看函數(shù)或數(shù)據(jù)集的更多細節(jié)
help()

3、顯示包中的數(shù)據(jù)集

顯示vcd包中數(shù)據(jù)集Arthritis的內(nèi)容
Arthritis

image.png

運行數(shù)據(jù)集Arthritis自帶的示例
example(Arthritis)
退出
q()

二、創(chuàng)建數(shù)據(jù)集

1、數(shù)據(jù)集

由數(shù)據(jù)構(gòu)成的一個矩形數(shù)組,行表示觀測,列表示變量。
R可以處理的數(shù)據(jù)類型(模式)包括數(shù)值型、字符型、邏輯型(TRUE/FALSE)、復數(shù)型(虛數(shù))和原生型(字節(jié))

2、數(shù)據(jù)結(jié)構(gòu)

R擁有許多用于存儲數(shù)據(jù)的對象類型,包括標量、向量、矩陣、數(shù)組、數(shù)據(jù)框和列表。

2.1向量

向量:用于存儲數(shù)值型、字符型或邏輯型數(shù)據(jù)的一維數(shù)組。
向量創(chuàng)建函數(shù):c()

a <- c(1, 2, 5, 3, 6, -2, 4)
b <- c("one", "two", "three")
c <- c(TRUE, TRUE, TRUE, FALSE, TRUE, FALSE)

函數(shù)解釋:a是數(shù)值型向量,b是字符型向量,c是邏輯型向量。

向量訪問函數(shù):a[c(n, m)]
用于訪問向量a中的第n個和第m個元素,如下例所示:



注意:標量是只含一個元素的向量,用于保存常量。例如

f <- 3
g <- "US"
h <- TRUE
2.2矩陣

矩陣是一個二維數(shù)組,只是每個元素都擁有相同的模式(數(shù)值型、字符型或邏輯型) 。

矩陣創(chuàng)建函數(shù):matrix():

myymatrix <- matrix(vector, nrow=number_of_rows,
ncol=number_of_columns, byrow=logical_value, 
dimnames=list( char_vector_rownames, char_vector_colnames))

函數(shù)解釋:
vector——矩陣的包含的元素
nrow和ncol——指定行和列的維數(shù)
dimnames——可選的、以字符型向量表示的行名和列名。
byrow——表明矩陣應當按行填(byrow=TRUE)還是按列填充
(byrow=FALSE) ,默認情況下按列填充。

例1:創(chuàng)建一個5×4的矩陣

image
2.3 數(shù)組

數(shù)組(array)與矩陣類似,但是維度可以大于2。

數(shù)組創(chuàng)建函數(shù):array,形式如下
myarray <- array(vector, dimensions, dimnames)
函數(shù)解釋:
vector——數(shù)組中包含的數(shù)據(jù)
dimensions——一個數(shù)值型向量,給出了各個維度下標的最大值
dimnames——是可選的、各維度名稱標簽的列表。

2.4 數(shù)據(jù)框

由于不同的列可以包含不同模式(數(shù)值型、字符型等)的數(shù)據(jù),數(shù)據(jù)框的概念較矩陣來說更為一般。它與你通常在SAS、SPSS和Stata中看到的數(shù)據(jù)集類似。數(shù)據(jù)框?qū)⑹悄阍赗中最常處理的數(shù)據(jù)結(jié)構(gòu)。

數(shù)據(jù)框創(chuàng)建函數(shù):
data.frame(): mydata <- data.frame(col1, col2, col3,...)
函數(shù)解釋:
col1、col2、col3等可為任何類型(如字符型、數(shù)值型或邏輯型)。每一列的名稱可由函數(shù)names指定。

2.5 因子

變量可歸結(jié)為名義型、有序型或連續(xù)型變量。
【1】名義型變量是沒有順序之分的類別變量。
【2】有序型變量表示一種順序關(guān)系,而非數(shù)量關(guān)系。病情Status(poor、improved、excellent)是順序型變量的一個上佳示例。
【3】連續(xù)型變量可以呈現(xiàn)為某個范圍內(nèi)的任意值,并同時表示了順序和量。年齡Age就是一個連續(xù)型變量。
【因子】:類別(名義型)變量和有序類別(有序型)變量在R中稱為因子(factor)。因子在R中非常重要,因為它決定了數(shù)據(jù)的分析方式以及如何進行視覺呈現(xiàn)。

2.6 列表

列表(list)是R的數(shù)據(jù)類型中最為復雜的一種。
一般來說,列表就是一些對象(或成分,component)的有序集合。列表允許你整合若干(可能無關(guān)的)對象到單個對象名下。
例如,某個列表中可能是若干向量、矩陣、數(shù)據(jù)框,甚至其他列表的組合。

列表創(chuàng)建函數(shù)list():
mylist <- list(object1, object2, ...)
還可以為列表中的對象命名:
mylist <- list(name1=object1, name2=object2, ...)

3、數(shù)據(jù)的輸入
image
3.1 使用鍵盤輸入數(shù)據(jù)

【1】用R內(nèi)置的文本編輯器輸入數(shù)據(jù)

a.創(chuàng)建一個空數(shù)據(jù)框(或矩陣),其中變量名和變量的模式需與理想中的最終數(shù)據(jù)集一致
b.針對這個數(shù)據(jù)對象調(diào)用文本編輯器,輸入你的數(shù)據(jù),并將結(jié)果保存回此數(shù)據(jù)對象中。

例:創(chuàng)建一個名為mydata的數(shù)據(jù)框,它含有三個變量:age(數(shù)值型)、gender(字符型)和weight(數(shù)值型)。然后調(diào)用文本編輯器,鍵入數(shù)據(jù),最后保存結(jié)果。

> mydata <- data.frame(age=numeric(0),gender=character(0), weight=numeric(0))
> mydata <- edit(mydata)

【2】直接在程序中嵌入數(shù)據(jù)集

> mydatatxt <- "age gender weight 25 m 166 30 f 115 18 f 120"
> mydata <- read.table(header=TRUE, text=mydatatxt)
3.2 從帶分隔符的文本文件導入數(shù)據(jù)

從帶分隔符的文本文件中導入數(shù)據(jù)使用的函數(shù):read.table(),其語法如下:
mydataframe <- read.table(file, options)
函數(shù)解釋:
此函數(shù)可讀入一個表格格式的文件并將其保存為一個數(shù)據(jù)框。表格的每一行分別出現(xiàn)在文件中每一行。
file——一個帶分隔符的ASCII文本文件(文檔路徑)
options——控制如何處理數(shù)據(jù)的選項。

表2-2列出了常見的選項。


【例】:在D盤新建一個txt文檔,輸入數(shù)據(jù)(注意最后一行需要換行),更改后綴名為csv(轉(zhuǎn)換為逗號分隔符文件)。用read.table()函數(shù)導入數(shù)據(jù):
> mydataframe <- read.table("D:/test.csv")

3.3 導入 Excel數(shù)據(jù)

讀取一個Excel文件的最好方式,就是在Excel中將其導出為一個逗號分隔文件(csv) ,并使用前文描述的方式將其導入R中。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容