pre: 新手注意事项
- R语言对变量赋值不是
=
,而是<-
- 在console上输入代码,就相当于linux的指令码
- 使用英文括号
getwd()
显示工作路径 - 向量由若干个元素组成,元素可以是数字或者是字符
- R语言中表格为数据框
-
?
能够查看代码意思,并了解一些例子 - 多种数据类型
- vector
- matrix
- Array
- Data Frame
- list
1. 向量
- 元素指数字或者字符串
- 标量是由一个元素所组成
- 向量则是由多个元素排序所组成
-
"arvin"
1
都是标量 -
("arvin","yanchu")
(1,2,3)
为向量 - 向量使用
c
来表示: for instancec(1,2,3)
-
a:b
代表从a到b的所有整数 for instancex<- 1:10
-
seq
代表数列 by 代表 公差 -
seq(1,10, by=0.5)
代表从一到十的数列 公差为0.5
注意一定是,
连接 不是:
-
rep
代表重复,time=x
代表重复x次 -
rep(1:10, time=2)
代表1到10所有整数重复两次
注意 每一次赋值x 都会覆盖上一次的赋值
2. 从向量中提取元素
1)根据元素位置提取元素
- 根据元素位置则是通过元素在整个向量之中的顺序位置或者是特定性质进行提取
For instance: - 提取第四个元素
x[4]
- 提取除了第四个以外的所有元素
x[-4]
- 提取从第二个到第四个元素
x[2:4]
- 提取除了第二个到第四个的元素
x[-(2:4)]
- 提取第一个和第四个元素
x[c(1,4)]
2) 根据元素值来提取元素
- 根据元素特定的数值或者是赋值来提取元素
For instance - 提取等于10的元素
x[x==10]
- 提取小于零的元素
x[x<0]
- 提取存在于向量x之中的元素
x[x %in% c(x)]
3. 工作框 Data frame
read.csv: Reads a file in table format and creates a data frame from it, with cases corresponding to lines and variables to fields in the file.
table format, using X1,X2 on the top, using
,
to seperate columnsread.table only could display it on the console area, In contrast, read.csv could construct a visible data frame
一定要将表格原始文件放在工作目录中,可以通过``getwd()`来查看
sep
sep
为函数形式参数,使用sep来指定字符的分隔符号如果输入read.table 或者 csv文件,都是由
,
来分割的sep = /t
表示以tab制图表来进行图像分割header:
true则excel第一行用于列名称,具体数据从第二行开始
false则第一行即为具体数据
设置列名和行名
- 先对整体的工作框进行“赋值”
X<- read.csv('wenjianming.txt')
- 查看列名和行名
colnames(X)
orrownames(X)
- 更改列名和行名
colnames(X)[y]<- "name"
将X工作框中第y个列名改为name
rownames(X)[y]<- "name"
将X工作框中第y个行名改为name
- 将第一列改为行名,而不是数据
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)
数据框的导出
write.table(X, file = "name.txt",sep = ",",quote=F)
将变量导出为name.txt使用逗号来分割
变量的保存与重新加载
- 保存当前所有变量
save.imgae(file="wenjianming.RData")
- 保存其中一个变量
save(X, file=wenjianming.RData)
- 调用RData的命令
load("a.RData")
选择变量
- X[a,b] 第a行第b列
- X[a,] 第a行
- X[,b] 第b列
- X[a:b,] 从第a行到第b行
- X[a:b] 从第a列到第b列
- X[c(a:b)] 第a列和第b列
- X$列名 提取列
如果发现not found,说明之前已经保存所有变量,所以单个变量无法保存。需要重新调用RData来进行单个变量的保存