R語言︱基本函式、統計量、常用操作函式
阿新 • • 發佈:2019-01-11
先言:R語言常用介面操作
幫助:help(nnet) = ?nnet =??nnet 清除命令框中所有顯示內容:Ctrl+L 清除R空間中記憶體變數:rm(list=ls())、gc() 獲取或者設定當前工作目錄:getwd、setwd 儲存指定檔案或者從磁碟中讀取出來:save、load 讀入、讀出檔案:read.table、wirte.table、read.csv、write.csv1、一些簡單的基本統計量
#基本統計量
sum/mean/sd/min #一些基本統計量
which.min() #找出最小值的序號
以上是單數列,如果是多變數下的呢?
#多元資料 colMeans() #每列,row是行(橫向) colnames() #列名 colSums() #列求和 cov() #協方差陣 cor() #相關矩陣 cor.test() #相關係數
abs | 絕對值 |
sqrt | 平方根 |
exp | e^x次方 |
log | 自然對數 |
log2,log10 | 其他對數 |
sin,cos,tan | 三角函式 |
sinh,cosh,tanh | 雙曲函式 |
poly | 正交多項式 |
polyroot | 多項式求根 |
物件操作:
assign | 賦值操作,等同於“<-” |
rm | 刪除物件 |
ls | 顯示記憶體中的物件 |
str | 顯示物件的內在屬性或簡要說明物件 |
ls.str | 展示記憶體中所有物件的詳細資訊 |
length | 返回物件中元素的個數 |
names | 顯示資料的名稱,對於資料框則是列名字 |
levels |
因子向量的水平 |
dim | 資料的維度 |
nrow | 矩陣或資料框的行數 |
ncol | 列數 |
rownames | 資料的行名字 |
colnames | 列名字 |
class | 資料型別 |
mode | 資料模式 |
head | 資料的前n行 |
tail | 資料的後n行 |
summary | 顯示物件的概要 |
attr | x的屬性型別 |
is.na | 檢測變數的型別 |
is.null | |
is.array | |
is.data.frame | |
is.numeric | |
is.complex | |
is.character |
簡單統計:
max | 最大元素 |
min | 最小元素 |
range | 最小值和最大值組成的向量 |
sum | 和 |
prod | 元素連乘 |
pmax | 向量間相同下標進行比較最大者,並組成新的向量 |
pmin | 向量間相同下標進行比較最小者,並組成新的向量 |
cumsum | 累積求和 |
cumprod | 連乘 |
cummax | 最大 |
cummin | 最小 |
mean | 均值 |
weighted,mean | 加權平均數 |
median | 中位數 |
sd | 標準差 |
norm | 正態分佈 |
f | F分佈 |
unif | 均勻分佈 |
cauchy | 柯西分佈 |
binom | 二項分佈 |
geom | 幾何分佈 |
chisq.test | 卡方檢驗,進行獨立性檢驗 |
prop.test | 對總體均值進行假設檢驗 |
shapiro.test | 正態分佈檢驗 |
t.test | T檢驗,對總體均值進行區間估計 |
aov | 方差分析 |
anova | 一個或多個模型物件的方差分析 |
2、向量
向量在迴圈語句中較為廣泛
#向量
#向量在迴圈語句中較為廣泛
M=vector(length = 8);M #生成一個長為8的布林向量
M[1]="1";M #賦值之後就會定義為字元
M[1]=1;M #賦值之後,定義為數值
邏輯向量使用
y[y < 0] <- -y[y < 0] #表示將向量(-y)中 與向量y的負元素對應位置的元素 賦值給 向量y中 與向量y負元素對應的元素。作用相當於: y <- abs(y)
3、資料儲存形式
#資料儲存形式
data.frame(wi=iris,ci=cars) #資料框形式,可以直接定義變數名
list(wi=iris,ci=cars) #list,也可以直接定義變數名
注意:attach()、detach()
可以將資料框中的變數釋放到Rs記憶體中,然後就可以直接呼叫。
attach(iris)
names(setosa)
detach(iris)
在data.frame中,是可以實現資料集重新命名的,比如data.frame(x=iris,y=cars),
也可以實現橫向、縱向重新命名,data.frame(x=iris,y=cars,row.names=iris)
4、資料檢視函式——names、str、unique組合、typeof()、mode()、class()
##資料檢視函式
names(iris) #檢視所有變數名字
str(iris) #變數屬性(int整數,num數值)
unique(iris$setosa) #檢視分類變數的水平
table(iris$setosa) #分類水平,不同水平的個數(=unique+sum功能)
summary(iris) #所有變數各自的均值、分位數、眾數、最大、最小值等統計量,在迴歸中就是係數表等
attributes(iris) #包括names(變數名)、row.names(序號的名稱)、class(資料形式)
一般names、str、unique會組合使用。
如何檢視資料型別——typeof()、mode()、class()的區別?
[plain] view plain copy print?- 我這裡用個因子例子來說明,希望能講清楚
- > gl(2,5) #新建一個因子
- [1] 1 1 1 1 1 2 2 2 2 2
- Levels: 1 2
- > class(gl(2,5)) #檢視變數的類,顯示為因子;
- [1] "factor"
- > mode(gl(2,5)) #檢視資料大類,顯示為數值型;
- [1] "numeric"
- > typeof(gl(2,5)) #檢視資料細類,顯示為整數型;
- [1] "integer"
- #來自:http://f.dataguru.cn/thread-99785-1-1.html
5、矩陣的基本知識與注意
#矩陣的基本知識
t() #轉置
det() #行列式,方陣
x%*%y #向量內積
x%o%y#向量外積
A=array(1:9,dim=c(3,3))
A*A #這個代表矩陣內兩兩子元素相乘
A%*%A #才是我們想要的結果
crossprod(A,A) #等於t(A)%*%A
crossprod(t(A),A) #等於A%*%A,所以需要t(A)一下
t | 矩陣轉置 |
rowsum | 行求和 |
colsum | 列求和 |
rowmeans | 行平均 |
colmeans | 列平均 |
solve | 對線性方程求解或求矩陣的逆 |
diag | 對角陣 |
6、因子
##因子(≈文字+數字的組合)
#SPSS中值標籤定義有異曲同工之妙
M=factor(iris$setosa,levels=c(1,0),labels=c("M","F"));M #能夠轉化因子格式+定義值標籤
M=as.factor(iris$setosa);M #上面的函式更有效,因為as.factor只能轉化成因子格式
7、輸入輸出
library | 載入包 |
data | 載入制定資料集 |
load | 載入save或者save.image儲存的資料 |
read.table | 讀取表格 |
read.csv | 讀取以逗號分割的表格 |
read.delim | 讀取以tab分割個表格 |
read.fwf | 以fixed width formatted 形式讀取資料至表格 |
save | 二進位制儲存指定物件 |
save.image | 二進位制儲存當前執行緒內所有物件 |
write.table | 將資料以表格形式寫入文字 |
write.csv | 將資料以CSV表格形式寫入文字 |
cat | 強制轉化為字元後輸出 |
sink | 輸出轉向到指定檔案 |
輸出螢幕 | |
format | 格式化 |
8、邏輯運算
!x | 邏輯非 |
x & y | 邏輯與 |
x && y | 邏輯與(僅匹配並返回第一個值) |
x | y | 邏輯或 |
x || y | 邏輯或(僅返回第一個值) |
x or (x,y) | 異或 |