R語言中知識點總結(一)


source("http://bioconductor.org/biocLite.R")
biocLite("GEOquery")

library(Biobase)

rm(list = ls()) #清空內存

 

R語言常用命令

http://blog.sina.com.cn/s/blog_9f23a8da010195qx.html

 

> getwd()

#獲取工作目錄。

> setwd("F:/R/myfun")

#設定工作目錄為F:/R/myfun。

> as.matrix(x)

#把對象x轉為矩陣型。

> as.numeric(x)

#把對象x轉為數值型。

> str(x)

#查看對象x的結構。str是structure的縮寫。

> rm(x)

#移除對象x。

> rm(list=ls(all=TRUE))

#移除所有對象。

 

##################################

#與向量有關的基本操作

##################################

> x = c(1,2,4)

#生成元素依次為1,2,4的向量x,這里的c是concatenate的意思。注意其類型是數值,不是矩陣。

> x = c("a","b","cd")

#生成元素依次為"a","b","cd"的字符向量x。

> x = paste("a","b","cd")

#生成"a b cd"的字符x。

> x[a:b]

#向量x的第a到b個元素。

> x[-i]

#剔除向量x第i個元素所得的向量。

##################################

#與矩陣有關的基本操作

##################################

> M = matrix(0,c(m,n))

#生成m行n列的0矩陣。

> colnames(M)

#矩陣M的列名。

> rownames(M)

#矩陣M的行名。

> nrow(M)

#矩陣M的行數。

> ncol(M)

#矩陣M的列數。

> M[i,]

#矩陣M第i行。(數值型)

> M[i,,drop = FALSE]

#矩陣M第i行。(矩陣型)

> M = M[-i,]

#刪除矩陣M第i行。

> M[,j]

#矩陣M第j列。

> M[i,j]

#矩陣M第i行j列元素。

> t(M)

#矩陣M的轉置。若M為數值型向量,則t(M)為矩陣型行向量。

> X*Y

#矩陣X與矩陣Y的Hadamard乘積。加、減、除、求余的規則和乘相同,即相同位置的元素進行運算。

> solve(M)

#矩陣M求逆。

> solve(A,b)

#求解線性方程Ax=b。

> apply(M, dimcode, f, fargs)

#對矩陣M的行(dimcode=1)或列(dimcode=2)依次進行函數f操作,f的變量(arguments)方正fargs里。

##################################

#與列表有關的基本操作

##################################

> L = list(a = , b = , c = ,...)

#建立列表L。

> L$a = NULL

#去除列表L里的對象a。

> names(L)

#列出列表L里的對象名。

> unname(L)

#去掉列表L里的對象名。

 

##################################

#與數據框有關的基本操作

##################################

#數據框是一種特殊的列表,所以對列表適用的函數往往對數據框也適用。此外,數據框也有矩陣型數據的特征,所以一些適用於矩陣型數據的函數,不如rbind,cbind,apply等也可以作用在數據框上。

> Data = data.frame(...)

#創建數據框Data。

> fix(Data)

#編輯數據框Data。

> head(Data)

#顯示數據框Data的前幾行。

> attribute(Data)

#列出數據框Data的組成部分。

> names(Data)

#顯示數據框Data的變量名。

> row.names(Data)

#顯示數據框Data的行名。

> Data$name1

#數據框Data中名為name1的變量。

> Data[i]

#數據框Data中第i個變量形成的數據框。

> merge(D1,D2)

#合並數據框D1和D2,需要D1和D2中有至少一個相同的變量。

 

##################################

#與邏輯型數據有關的基本操作

##################################

> is.data.frame(x)

#判斷是否對象x是數據框。類似命令有is.ts(x),is.numeric(x)等。

> all(x>a)

#判斷是否對象x的每個元素都大於a。

> any(x>a)

#判斷對象x的元素中是否存在一個大於a。

> x>y

#判斷x的每個元素是否大於y的每個元素。

> x[x>a]

#向量x中大於a的元素組成的新向量。

> subset(x, x>a)

#向量x中大於a的元素組成的新向量。與上面例子的區別在於若向量元素里有NA,上面的例子會保留在結果中,而subset命令會剔除掉。

> which(x, x>a)

#返回向量中大於a的元素的位置。

> x = ifelse(b, u, v)

#生成一個與b(邏輯向量)維度相同的數值向量,若b[i]為TRUE,則x[i]為u,反之為v。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM