小Tips:
- R的賦值符號(hào)最好用<-
- 在控制臺(tái)(實(shí)時(shí)命令區(qū)域)輸入命令巡李,回車即可運(yùn)行
- R的代碼所有符號(hào)必須用英文輸入
- 顯示工作路徑命令
getwd()
- 向量由元素組成毅哗,元素可以是數(shù)字也可以是字符串
- 表格在R中成為數(shù)據(jù)框素征,是數(shù)據(jù)類型的一種
- 對(duì)于不會(huì)的函數(shù)可以使用 ?函數(shù)名 在控制臺(tái)進(jìn)行查詢净响,如果一個(gè)函數(shù)是在多個(gè)包內(nèi)都有同名檀咙,可以選擇在函數(shù)名前加上包名棋蚌,即 ?包名::函數(shù)名
- R中的數(shù)據(jù)類型:向量嫁佳、矩陣、數(shù)組谷暮、數(shù)據(jù)框蒿往、列表。加粗的是重點(diǎn)掌握的數(shù)據(jù)類型
向量
- 向量與標(biāo)量的區(qū)別相信學(xué)過(guò)數(shù)學(xué)或者物理的應(yīng)該都不陌生湿弦,在R中沒(méi)有方向的概念瓤漏,但是有順序的概念,所以區(qū)別就在于標(biāo)量是一個(gè)元素的變量颊埃,不存在順序蔬充,向量是多個(gè)元素的變量,有順序區(qū)別班利。
-向量與標(biāo)量的元素并沒(méi)有限制饥漫,可以是數(shù)字也可以是字符串 - 與其他編程類語(yǔ)言相似,在命令行任意輸入的字母作為一個(gè)變量罗标,給變量一個(gè)值或一個(gè)字符串庸队,叫作給變量賦值,賦的是標(biāo)量闯割;給變量幾個(gè)有順序的值或幾個(gè)順序的字符串彻消,則賦的是向量
- 舉個(gè)栗子
x<-c(1,2,3)#x為變量,賦值為由1,2,3組成的向量
x<-1:10#給x賦值宙拉,為1~10所有整數(shù)
x<-seq(1,10,by=0.5)#意為給x賦值為宾尚,1~10每隔0.5取一次的所有值
x<-rep(1:3,times=2)#x的值為1~3,重復(fù)兩次
- 變量在工作區(qū)可以看到谢澈,但同名的變量會(huì)隨著賦值的先后順序被刷新(也就是說(shuō)煌贴,你第一次給一個(gè)變量賦值后御板,第二次給同名變量賦另一個(gè)值,那你第一次賦的值就不見(jiàn)啦)
- 工作區(qū)域內(nèi)的變量可以雙擊崔步,然后就在左上區(qū)域代替編輯器出現(xiàn)啦 稳吮,如果不想看就叉掉就好啦
- 如果我有一個(gè)向量a,它是一行4個(gè)數(shù),現(xiàn)在我想要其中的第3個(gè)和第4個(gè)元素給x
x<-a[3:4]
x<-a[-(1:2)]
x<-a[c(3,4)]
x<-a[c(-1,-2)]
#如果知道值井濒,第三個(gè)為3,第四個(gè)為9
x<-a[a==3]
x<-a[a %in% c(3,4)]#存在于向量a中3,4位置的元素
數(shù)據(jù)框
-
現(xiàn)在列林,我有兩個(gè)文本文件
- 讀取一個(gè)給X
X<-read.csv('doudou.txt')
- 再讀取另一個(gè)給b
b<-read.table(file="huahua.txt",sep="\t",header=T)
- 看看X的列名和行名
colnames(X)
rownames(X)
- 有時(shí)候表格行名和列名交叉的第一個(gè)格子為空時(shí)瑞你,系統(tǒng)可能自己補(bǔ)充了x如果想更改
colnames(X)[1]<-"bioplanet"
- 行名在上面b賦值的結(jié)果是默認(rèn)為自然數(shù),如果想讀入的時(shí)候默認(rèn)第一列為行名
b<-read.csv(file="huahua.txt",sep="\t",header=T,row.names=1)
-
當(dāng)然如果懶到極致希痴,鼠標(biāo)也是可以完成讀入數(shù)據(jù)的事情
- 當(dāng)一系列操作之后
- 數(shù)據(jù)框的導(dǎo)出
write.table(b,file="wan.txt",sep=",",quote=F)
- 以后還要直接用的變量者甲,保存和加載
save.image(file="haiyong.RData")#保存了所有變量
save(b,fiile="b.RData")
load("b.RData")#加載進(jìn)來(lái)
- 從數(shù)據(jù)框中提取元素和向量中提取元素的最大差別在于——一個(gè)逗號(hào)
b[2,3]#第2行第3列
b[2,]#第2行所有列,列也同理
b[2]#第2列砌创,沒(méi)有逗號(hào)默認(rèn)為列
b$列名#名為列名的列
作業(yè)
save(X,file="test.RData")
報(bào)錯(cuò)沒(méi)有找到X虏缸,應(yīng)該是因?yàn)閄不在變量列表中,或者可能只有小寫(xiě)x變量嫩实,沒(méi)有大寫(xiě)X變量刽辙,大小寫(xiě)是不一樣的