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()
當你雙擊某個命令,他就會跳到你的控制臺大于號后面了,可以修改后運行。