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。

posted @ 2019-01-07 11:38  莫回首_love  阅读(2227)  评论(0编辑  收藏  举报