數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)
基礎(chǔ)知識(shí)
- R的賦值符號(hào)不是=,而是<-
- Console控制臺(tái)=Linux命令行
- R的代碼都是帶括號(hào)么夫,英文格式
- 顯示工作路徑 getwd();設(shè)置工作路徑 setwd(dir="C:/Users/xxx/xxxx/xxx")
- 向量是元素組成肤视,元素可以是數(shù)字或字符串
- 表格在R語(yǔ)言中叫"數(shù)據(jù)框“
- 理解命令和函數(shù)的意義档痪,不會(huì)用可以百度/谷歌或
?read.table
看看example - 數(shù)據(jù)類(lèi)型:向量(vector);矩陣(matrix)邢滑;數(shù)組(array)腐螟;數(shù)據(jù)框(data frame);List
一困后、向量
1. 標(biāo)量和向量的區(qū)分
元素:數(shù)字/字符串
標(biāo)量:一個(gè)元素組成的變量乐纸, 例:1/huahua
向量:多個(gè)元素組成的變量(一排有序排列的元素),例:c(1,2,3)/c("doudou","huahua","yu")
給變量賦值
x<- c(1,2,3)
將x定義為由元素1摇予,2汽绢,3,組成的向量
x<- 1:10
從1-10之間所有的整數(shù)
x<- seq(1,10,by = 0.5)
1-10之間每隔0.5取一個(gè)數(shù)
x<- rep(1:3,times=2)
1-3 重復(fù)2次
2. 從向量中提取元素
(1)根據(jù)元素位置
x[4]
x第4個(gè)元素
x[-4]
除了第4個(gè)元素之外剩余的元素
x[2:4]
第2到4個(gè)元素
x[-(2:4)]
除了第2-4個(gè)元素
x[c(1,5)]
第1個(gè)和第5個(gè)元素
(2)根據(jù)值
x[x==10]
等于10的元素
x[x<0]
小于0的元素侧戴?
x[x %in% c(1,2,5)]
存在于向量c(1,2,5)中的元素
二宁昭、數(shù)據(jù)框
Tips:將示例數(shù)據(jù)放在工作目錄下
(1)讀取本地?cái)?shù)據(jù)
read.table(file = "huahua.txt",sep = " ",header =T)
讀取文件,分隔符為T(mén)ab, 有表頭
a<-read.table(file = "huahua.txt",sep =" ",header =T)
把這個(gè)數(shù)據(jù)框賦給一個(gè)變量a
或者
X<-read.csv('doudou.txt')
獲得示例數(shù)據(jù)框 (我也覺(jué)得read.csv好用些)
(2)設(shè)置行名和列名
colnames(X)
查看列名
rownames(X)
查看行名
colnames(X)[1]<-"bioplante"
不太懂這個(gè)?
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)
row.names 修改第一列為行名
(3)數(shù)據(jù)框的導(dǎo)出
write.table(X,file = "yu.txt",sep = ",",quote=F)
(4)變量的保存與重新加載
save.image(file="bioinfoplanet.RData")
保存當(dāng)前變量
save(frame1,file="frame1.RData") 保存其中一個(gè)變量
load("frame1.RData)
再次使用RData時(shí)的加載命令
(5)提取元素
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$列名
提取一列
(6)直接使用數(shù)據(jù)框中的變量
提取某兩列做散點(diǎn)圖:
a <-data.frame(case=paste("S",c(1:50)),values=runif(50)) plot(a$case,a$value)
其他方法:
- attach:
attach(a)
plot(case,values)
- with:
with(a,{ plot(case,values) x<<-summary(values) }) x
這個(gè)沒(méi)太懂
三酗宋、一些問(wèn)題
1. Data Frame
Data Frame=數(shù)據(jù)框=R中的表(由行和列組成)