R語言 基本操作整理

2021-07-05 04:55:32 字數 4093 閱讀 2910

1.變數變換

as.array(x),as.data.frame(x),as.numeric(x),as.logical(x),as.complex(x),as.character(x),...轉換變數型別;使用如下命令可得到全部列表,methods(as)

factor():將乙個向量轉化為乙個因子

2.變數資訊

is.na(x),is.null(x),is.array(x),is.data.frame(x),is.numeric(x),is.complex(x),is.character (x),...檢驗變數的型別;使用如下命令得到全部列表,methods(is)

length(x):x中元素的個數

dim(x):檢視變數的維數;重新設定的維數,例如dim(x)=c(3,2)

dimnames(x):重新設定物件的名稱

nrow(x):行的個數

ncol(x):列的個數

class(x):得到或設定x的類;class(x)<-c(3,2)

unclass(x):刪除x的類

attr(x,which):得到或設定x的屬性which

attributes(obj):得到或設定obj的屬性列表

fix,edit:對資料框資料進行**形式的編輯

3.資料選取和操作

which.max(x):返回x中最大元素的指標

which.min(x):返回x中最小元素的指標

rev(x):翻轉x中所有的元素

sort(x):公升序排列x中的元素;降序排列使用:rev(sort(x))

cut(x,breaks):將x分割成為幾段(或因子);breaks為段數或分割點向量

match(x,y):返回乙個和x長度相同且和y中元素相等的向量不等則返回na

which(x==a):如果比較操作為真(true),返回向量x的指標

choose(n,k):組合數的計算

na.omit(x):去除缺失值(na)(去除相關行如果x為矩陣或資料框)

na.fail(x):返回錯誤資訊,如果x包含至少乙個na

unique(x):如果x為向量或資料框,返回唯一值

table(x):返回乙個由x不同值個數組成的**(通常用於整數或因子),即頻數表

subset(x,...):根據條件(...選取x中元素,如x$v1<10);如果x為資料框,選項select使用負號給出保留 或去除的變數 subset(x, subset, select, drop = false, ...)

sample(x,size):不放回的隨即在向量x中抽取size個元素,選項replace=true允許放回抽取

prop.table(x,margin=):根據margin使用分數表示**,wumargin時,所有元素和為1

4.1.陣列(包含矩陣、向量)建立

c(...)

常見的將一系列引數轉化為向量的函式,通過recursive=true降序排列列表並組合所有的元素為向量

from:to產生乙個序列

":"有較高的優先順序;1:4+1得到"2,3,4,5"

seq() 產生乙個向量序列

seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),length.out = null, along.with = null, ...)

其中length.out可簡寫為len。

rep() 重複乙個物件

rep(x,times):x是要重複的物件(例如向量c(1,2,3)),times為物件中每個元素重複的次數(如times=c(9,7,3)就是將x向量的1重複9次,2重複7次,3重複3次)。

除了上述主要的用法之外,還有一種特殊的用法:rep(x,times)重複x times次;使用each=來重複x元素each次;rep(c(1,2,3),2)得到1 2 3 1 2 3;rep(c(1,2,3),each=2)得到1 1 2 2 3 3。

matrix(...)

創立矩陣 matrix(data = na, nrow = 1, ncol = 1, byrow = false,dimnames = null)

array(x,dim=...)

產生由x組成的陣列;使用類似dim=c(3,4,2)指定維數;如果x長度不夠,則x自動迴圈

data.frame(...)

建立資料框,變數可能被命名或未被命名

data.frame(v=1:4,ch=c("a","b","c","d"),n=10);

相對短的向量會被填充到最大向量長度。

注意資料框中各個屬性的元素個數必須相同

list(...)

建立乙個由變數組成的列表,變數可能被命名;

list(a=c(1,2),b="hi",c=3i)

factor(x,levels=) 把向量x編碼稱為因子

factor(x = character(), levels, labels = levels,exclude = na, ordered = is.ordered(x))

gl() 產生因子變數

gl(n,k,lenth=n*k,labels=)

通過指定水平方式產生水平因子;k為水平的個數,n為重複的次數

rbind() cbind()

rbind(...)以行的形式組合矩陣,資料框,或其它

cbind(...)以列的方式組合,其他同rbind()

資料切割和分離

向量指標

x[n]:第n個元素

x[-n]:除了第n個元素的x

x[1:n]:前n個元素

x[-(1:n)]:第n+1至最後的元素

x[c(1,4,2)]:指定元素

x["name"]:名為"name"的元素

x[x>3]:所有大於3的元素

x[x>3 & x<5]:區間(3,5)的元素

x[x%in%c("a","and","the")]:給定組中的元素

列表指標

x[n]:列表顯示元素n

x[n]:列表的第n個元素

x["name"]:名為"name"的元素

x$name :同上

矩陣指標

x[i,j]:下表為(i,j)的元素

x[i,]:第i行

x[,j]:第j列

x[,c(1,3)]:第1和3列

x["name",]:名為"name"的行

x$name :同上

資料框指標

x["name"]:列明為"name"的列

x$name :同上

4.2.r數學函式

4.2.2.基本符號:

+ :加

- :減

* :乘

/ :除

^ :冪

4.2.3.三角函式與其他基本數學函式

注意:大多數數學函式使用邏輯引數na.rm=false來指定是否移除缺失值(na)

4.3.r字元操作

paste(...):轉化為字元後連線向量;seq=為分割界限(乙個空格為預設);選擇collapse=可以分 割"collapse"結果

substr(x,start,stop):提取字元向量的子字段;同樣可以賦值,使用substr(x,start,stop)<-value

strsplit(x,split):在split的位置分割x,例如:

x<-strsplit("an r matrix corresponds to the mathematical concept"," ");

length(x[1]); #注意:物件被存放在列表x的第一項中,可以用x[1]提取

grep(pattern,x):搜尋x中滿足pattern條件;參見?regex

gsub(pattern,replacement,x):替換滿足正規表示式的字段,sub()類似,但只替換第乙個出現的字段

tolower(x):轉化為lowercase

toupper(x):轉化為uppercase

match(x,table):table中匹配x元素位置組成的向量

x%in%table:table中匹配x元素位置組成的向量,返回值為邏輯值

pmatch(x,table):table中部分匹配x元素

nchar(x):字元的個數

R的基本操作

1.輸入資料 x c 1,2,3,4,5,6,7,8,9 輸入資料,c 為連線函式1.1 計算均值和標準差 mean x 均值 sd x 標準差1.2 直方圖 hist x 直方圖2.向量 2.1基本運算 11 4 餘數 sqrt 2 開方 factorial x 階乘 floor x ceilin...

R語言速成 尹鴻(一)基本操作

x 5 賦值 ls 檢視已經建立的變數 1 x age c 1,3 5,2 11,9 3,9 12,3 weight c 4.4 5.3 7.2 5.2 8.5 7.3 6.0 10.4 10.2 6.1 mean age 平均數 1 5.8 sd weight 標準差 1 2.077498 cor...

R語言檔案操作

path j lab ex29 在r語言中進行檔案 夾 操作 setwd path cat file a n file a 建立乙個檔案a,檔案內容是 file a n 表示換行,這是乙個很 好的習慣 cat file b n file b 建立乙個檔案b 有空行file.create a 建立乙個...