数据结构
Part 1 向量 Vector
1.向量赋值
1.1 使用c函数 x <- c(1,2,3)
1.2 使用:取区间x <- 1:3
1.3 使用seq函数在1到10之间以步长为1取用数字
x <- seq(1,10,by=1)
1.4 使用rep函数将1-3重复三次
x <- rep(1:3,3)
2.取用向量的元素
2.1 根据下标取用
x[4]
x[-4]#获取除了第四个元素外的元素
x[-(2:4)]#获取除了第2至第4之外的元素,要加括号
x[c(1,4)]#获取第一个和第四个元素
2.2 根据元素值取用
x[x==10]#等于10的元素
x[x < 0]#小于0的元素
x[x %in% c(1,2,5)]#存在于向量(1,2,5)中的元素
- “=”是赋值,而“==” 是等于
Part 2 数据框 Data frame
1 读取本地数据
1.1 使用a <- read.table(file= "huahua.txt",sep ="\t",header= T)
.csv是非常好的数据文件格式,跨平台支持非常好,在Excel或者SPSS中创建的数据,只要存为csv格式,就可以使用几乎任何数据处理软件对这些数据进行处理了。
read.csv和read.table不同的是的默认参数有别,table默认不接受缺失值。
- \t :横向制表(HT) (跳到下一个TAB位置)
- sep: 指定分隔符,默认是空格
- header: 判断数据文件中第一行是不是标题
2 设置行名和列名
X <- read.csv('doudou.txt')
colnames(X)#查看列名
rownames(X)#查看行名
colnames(X)[1] <- "MOU" #修改左上角第一格为某
X<- read.csv(file="huahua.txt",sep=" ",header=T,row.names=1)
3 导出数据框
write.table(变量,file="文件名",sep=",",quote=F)#改分割符号为逗号,字符去除双引号
4 变量保存与重新加载
- 保存格式为RData
4.1 保存所有变量
save.image("文件名")
4.2 保存一个变量
save(变量名,file="文件名")
4.3 加载变量
load("文件名")
5 提取数据框的元素
- 数据框以列为大单位
5.1 提取1行2列
a[1,2]
5.2 提取第1行
a[1,]
5.3 提取第2列
a[2]
a[,2]
a[1:3] #提取1到3列
a[c(1,3)] #提取1,3列
a$name #根据列名提取该列
6 使用数据框中的变量做散点图
6.1 使用赋值和plot函数
a <-data.frame(case=paste("S",1:50),values=runif(50))
plot(a$case,a$values)
paste函数将参数转换为字符串并连接,字符串之间用seq间隔分开。
6.1 使用attach函数
- attach()是对数据框/列表添加路径索引,避免重复输入名称。
- detach()是撤销attach()建立的路径索引,往往二者配套使用。
attach(a)
plot(case,values)
6.2 使用with函数
with(a,{
plot(case,values)
x<<-sum(values) #求和并赋值给x
})
x #运行完后打印x
- <<的意思是作为全局变量,也就是出了大括号仍有效。
-
小括号()定义函数的参数,在运算中作为优先级
中括号 [] 用做对象的元素索引
大括号{} 作为代码段落的起止
- with函数可以将所有操作(expr)局限于(data)中,避免多次输入变量名。
7 保存脚本
-
通过快捷键Ctrl+Shift+N新建脚本并将with函数敲进去后保存。
问题
-
save(X,file="test.RData")
遇到X报错说明变量X不存在,通过load()
函数载入变量。