R語言 資料結構

2021-10-07 09:50:59 字數 2615 閱讀 8259

\#向量vector本質作為一維陣列可以包含數字,字元,布林值

a = c(1, 2, 5, 3, 6, -2, 4)

b = c("one", "two", "three")

c = c(true, true, true, false, true, false)

#矩陣matrix 二維陣列

#構造需要通過matrix方法實現

x = matrix(1:20, nrow=5, ncol=4, byrow=true) #最後乙個引數表示按列填充

xy = matrix(1:20, nrow=5, ncol=4, byrow=false) #按行填充

yx[2,] #輸出第二行

x[,2] #輸出第二列

x[1,4] #第一行第四個數

x[2,c(2,4)] #返回第二行,第二個和第四個數

x[3:5, 2] #第二列3~5個數

cnames=c("cat","dog","bird","pig")

x = matrix(1:20, nrow=5, ncol=4, byrow=true)

rownames(x)=rnames #給行列新增名字

colnames(x)=cnames

#多維矩陣array ,通過array方法構建

dim1 = c("a1", "a2")

dim2 = c("b1", "b2", "b3")

dim3 = c("c1", "c2", "c3", "c4")

dim4 = c("d1", "d2", "d3")

z = array(1:72, c(2, 3, 4, 3), dimnames=list(dim1, dim2, dim3, dim4))

zz[1,2,3,] #返回一維的1項二維的2項三維3項四維無限制

#data frame 一般二維

patientid = c(1, 2, 3, 4)

age = c(25, 34, 28, 52)

diabetes = c("type1", "type2", "type1", "type1")

status = c("poor", "improved", "excellent", "poor")

patientdata = data.frame(patientid, age, diabetes, status) #呼叫相關方法構建

patientdata

#read.csv返回的格式也是data frame

swim = read.csv("")

patientdata[1:2] #前兩列

patientdata[1:2,] #前兩行

patientdata[1:3] #前三列

patientdata[1,1:3] #第一行 前三列

patientdata[c(1,3),1:3] #一三行,前三列

attach(mtcars) #將其中行列加入作為變數

layout(matrix(c(1,1,2,3), 2, 2, byrow = true))

#layout引數試乙個矩陣,矩陣內第乙個引數是陣列用於指示圖表擺放規則

#第二三個引數表示兩行兩列,byrow表示按行讀取

#反觀第乙個引數就是第一行擺放1圖和1圖(就是一張圖佔據兩個位置)

#然後在第二行放置2,3兩張圖

hist(wt)

hist(mpg)

hist(disp)

detach(mtcars) #不再將其中行列作為變數

#設定作圖變數 利用par函式

par(mfrow=c(2,2)) #設定網格,使其可以一次性在2x2的網格內作圖

plot(rnorm(50),pch=17)

plot(rnorm(20),type="l",lty=5)

plot(rnorm(100),cex=0.5)

plot(rnorm(200),lwd=2)

#影象中常見引數

#pch控制影象各點形狀(0~24)

#cex控制影象大小(正常大小為1,可以比1大)

#lty控制連線型別(0~6),前提必須有type才有lty(linetype)

#lwd控制線條粗細(原大小為1)

par(mfrow=c(1,1))

plot(rnorm(20),type="l",lty=5)

title("測試圖表") #設定影象標題

axis() #對座標軸進行一系列操作

legend() #用於設定引數框

getwd() #獲取當前工作空間

setwd() #設定工作空間

dir() #獲取工作路徑下檔案內容

history() #獲取歷史25條命令

options() #列出可以改變的系統內容

source() #執行已經儲存好的檔案

ls() #檢視記憶體中的變數

rm() #刪除記憶體中變數

rm(list=ls()) #刪除所有物件

cat()

class()

typeof()

library(swirl)

swirl() #做練習

R語言 資料結構

向量 my vector c 1,2,8,9,16 my vector 2 4 矩陣 矩陣行列命名,預設先排列 cells c 1,36,24,12 row names c r1 r2 col names c c1 c2 my matrix1 matrix cells,nrow 2,ncol 2,d...

R語言資料結構

字元 character 數值 numeric real numbers 整數 integer 複數 complex 邏輯 logical tf必須大寫 x true 常用方法 名稱維度 型別長度 建立 vector x vector character length 10 this is anno...

R語言資料結構

1 向量 乙個向量的所有元素必須有相同的型別 模式 2 列表 列表可以非同質的 列表可按位置索引 lst 2 抽取子列表 lst c 2,5 列表可以有名稱 lst moe 或者lst moe 列表類似於字典 雜湊表等 3 模式 實體型別 mode 3.1415 r中每個物件都有乙個模式,表明該物件...