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。