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 建立乙個...