1.head()
head(dataframe)——查看数据集前6行数据

2.dim()
dim(x):查看变量的维数

3.paste() -字符串连接

paste(..., sep = " ", collapse = NULL)

sep:分隔符,默认为空格。
collapse:如果不指定值,那么函数paste的返回值是自变量之间通过sep指定的分隔符连接后得到的一个字符型向量;如果为其指定了特定的值,那么自变量连接后的字符型向量会再被连接成一个字符串,之间通过collapse的值分隔。

4.write.table() - 保存数据为文件

write.table (x, file ="", sep ="", row.names =TRUE, col.names =TRUE, quote =TRUE)

x:需要导出的数据
file:导出的文件路径
sep:分隔符,默认为空格(” “),也就是以空格为分割列
row.names:是否导出行序号,默认为TRUE,也就是导出行序号
col.names:是否导出列名,默认为TRUE,也就是导出列名
quote:字符串是否使用引号表示,默认为TRUE,也就是使用引号表示

5.read.table() - 文件中读取数据
read.table()函数是R最基本函数之一,主要用来读取矩形表格数据。

Usage
read.table(file, header = FALSE, sep = "", quote = "\"'",
           dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
           row.names, col.names, as.is = !stringsAsFactors,
           na.strings = "NA", colClasses = NA, nrows = -1,
           skip = 0, check.names = TRUE, fill = !blank.lines.skip,
           strip.white = FALSE, blank.lines.skip = TRUE,
           comment.char = "#",
           allowEscapes = FALSE, flush = FALSE,
           stringsAsFactors = default.stringsAsFactors(),
           fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)
           
read.csv(file, header = TRUE, sep = ",", quote = "\"",
         dec = ".", fill = TRUE, comment.char = "", ...)

read.delim(file, header = TRUE, sep = "\t", quote = "\"",
           dec = ".", fill = TRUE, comment.char = "", ...)

Argument

Description

file

file是一个带分隔符的ASCII文本文件

header

一个表示文件是否在第一行包含了变量的逻辑型变量。如果header设置为TRUE,则要求第一行要比数据列的数量少一列。

sep

分开数据的分隔符。默认sep=""。

quote

用于对有特殊字符的字符串划定接线的字符串,默认值是TRUE(")或单引号

dec

用于指明数据文件中小数的小数点

row.names

保存行名的向量。可以使用此参数以向量的形式给出每行的实际行名。或者要读取的表中包含行名称的列序号或列名字符串。

col.names

指定列名的向量。缺省情况下是又"V"加上列序构成,即V1,V2,V3…

stringsAsFactors

逻辑值。控制是否将字符向量转换为因子。

check.names

逻辑值。该参数值设置为TRUE时,数据框中的变量名将会被检查,以确保符在语法上是有效的变量名称。

6.download.file()

download.file(url,destfile,method,quiet=FALSE,mode="w",cacheOK=TRUE,extra=getOption("download.file.extra"))

url:字符串,必须http://,https://,ftp://,file://开头
destfile:下载文件的保存地址,默认工作目录,file为保存文件名
method:提供"internal",“wget”,“curl”,“lynx”,“libcurl”,“wininet”.windows上通常internal就能解决大多数的问题,少数搞不定的如Cygwin,gnuwin32用"wget",windows二进制文件用"curl".method对于Mac用户来说是都要设置的."lynx"主要针对historical interest
quiet:TRUE-禁止状态消息,显示进度条
mode:写入文件模式,只能在method="internal"时使用,“w”/“wb”(binary)/“a”(append)/“ab”
cacheOK:是否接受服务器端的缓存值,对http://,https://使用.FALSE-尝试从站点获取副本,而不是从中间缓存中获取

7. commandArgs()函数
commandArgs(trailingOnly = FALSE)
trailingOnly:是否返回R程序自带参数

##test.R
args=commandArgs(T)
print (args[1])##第一个外部参数
print (args[2])##第二个外部参数
##运行脚本:Rscript test.R first second
结果:
[1] "first"
[2] "second"

8. setwd()- 更改当前目录
setwd(dir)
参数 dir 是字符串,目录需要引号。

9. getwd() - 获取当前工作目录

10. apply() - 常用来计算矩阵中行或列的均值、和值的函数

rname = c("one","two","three")
cname = c("first","second")
b <- matrix(1:6,nrow=3, dimnames = list(rname, cname))

apply(b,1,sum)
结果:
  one   two three 
    5     7     9 

b矩阵:
      first second
one       1      4
two       2      5
three     3      6

第一个参数是指要参与计算的矩阵;
第二个参数是指按行计算还是按列计算,1——表示按行计算,2——按列计算;
第三个参数是指具体的运算参数。

11. which()
通过以下常规使用例子理解:

A是nxm的矩阵,B是pxk的矩阵,搜索B中行名和A中行名相同的行,行号记录在向量a中
a<-vector()
for(i in 1:nrow(B))
{
a[i]<-which(colnames(A)==colnames(B)[i])
}
# 新建数组 a=c(1,3,4,5,3,2,5,6,3,2,5,6,7,5,8)
# 取数组a中最大值的下标 which.max(a)
# 取数组a中最小值的下标 which.min(a)
# 取数组a中大于3值的下标 which(a>3)
# 取数组a中等于3值的下标 which(a==3)

12. 矩阵

> mat <- matrix(1:6, nrow=2, dimnames=list(rnames, cnames))   ##通过设定dimnames参数添加行列名
> mat[, 2]  ##访问第2列元素
> mat[2, 2] <- 20   ##将第2行第2列元素改为20
> mat[ ,3] <- 10   ##将第3列元素都改为10
> mat[mat<6] <- 7   ##将小于6的元素都改为7
> mat <- mat[-2, ]   ##删掉第二行,因为删掉行后自动向上缩进,删除时可以从后往前删
> rbind(mat, c(12, 13, 14))   ##在原矩阵mat后面添加一行
> cbind(mat, c(12, 13, 14))   ##在原矩阵mat后面添加一列
> cbind(v1,v2,v3) ###v1,v2,v3三个向量拼接成矩阵 

> dim(mat)  ##维度,2行3列
[1] 2 3
> dim(mat)[2]  ##取列值
[1] 3
> length(mat)  ##元素个数
[1] 6

13. 循环

for (i in 1:100) {
   statement
}