day5 数据结构 🤷♂
一、数据类型
- 向量 (vector) #向量由元素组成,可以是数字/字符串
- (Matrix)
- (Array)
- 数据框 (Data frame) #数据框就是R语言的表格
- List
?read.table
可以查看函数的帮助
1、向量 c()
👨👨👧👦 从向量中提取元素
2、数据框
创建数据框 mydata <- data.frame( *col1, col2, col3,...*)
file
file是一个带分隔符的ASCII文本文件。 header
一个表示文件是否在第一行包含了变量的逻辑型变量。 如果header设置为TRUE,则要求第一行要比数据列的数量少一列。 sep
分开数据的分隔符。默认sep=""
。 read.table()
函数可以将1个或多个空格、tab制表符、换行符或回车符作为分隔符。
设置行名和列名
X<-read.csv('doudou.txt') #在示例数据里有doudou.txt 注意这里的变量X是一个数据框
colnames(X) #查看列名
rownames(X) #查看行名,默认值的行名就是行号,1.2.3.4...
colnames(X)[1]<-"bioplanet"#有的公司返回数据,左上角第一格为空,R会自动补为x,用这个命令来修改
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)#最后row.names的意思是修改第一列为行名
names(study) <- c("wei","hei","gen")
row.names(study)<-c("Mary","Alice","Bob","Judy")
数据框导出
write.table()
函数:数据是一个数据框
write.table(x,file,sep,row.name)</mark>
x: 要写入的对象,最好是矩阵或数据框
file:写入的文件名字,不加目录,文件存储在当前目录下
sep:设置新的分隔符
row.name:是否添加行号的逻辑值
变量的保存与重新加载
save.image(file="bioinfoplanet.RData")#保存当前所有变量
save(X,file="test.RData")#保存其中一个变量
load("test.RData")#再次使用RData时的加载命令
提取变量
X[x,y] #第x行第y列
X[x,] #第x行
X[,y] #第y列
X[y] #也是第y列
X[a:b] #第a列到第b列
X[c(a,b)] #第a列和第b列
X$列名 #也可以提取列(优秀写法,而且这个命令还优秀到不用写括号的地步,并且支持Tab自动补全哦,不过只能提取一列)</pre>
直接使用数据框中的变量 iris
鸢尾花(iris)是数据挖掘常用到的一个数据集,包含150种鸢尾花的信息,每50种取自三个鸢尾花种之一(setosa,versicolour或virginica)。每个花的特征用下面的5种属性描述萼片长度(Sepal.Length)、萼片宽度(Sepal.Width)、花瓣长度(Petal.Length)、花瓣宽度(Petal.Width)、类(Species)。
参考文章:iris数据集
save(X,file="test.RData")这句代码如果报错object X not found,是为什么,应该怎么解决? ---可能是x大小写的问题
昨天漏了一个小技巧:history()
当你双击某个命令,他就会跳到你的控制台大于号后面了,可以修改后运行。