《學習小組Day5筆記--旮旯里的山大王》

Day5-數據結構筆記。

新手起步:

抄筆記:

獲取示例數據:在公眾號--生信星球 后臺回復:“數據類型”即可獲得
(1)R的賦值符號不是等號叁鉴,而是<-
(2)在Console 控制臺輸入命令,相當于Linux的命令行
(3)R的代碼都是帶括號的江醇,括號必須是英文的濒憋。
(4)顯示工作路徑 getwd()
(5)向量是由元素組成的,元素可以是數字或者字符串陶夜。
(6)表格在R語言中改名叫“數據框”
(7)別只復制代碼凛驮,要理解其中的命令、函數的意思条辟。函數或者命令不會用時黔夭,除了百度/谷歌搜索以外,用這個命令查看幫助:?read.table羽嫡,調出對應的幫助文檔本姥,翻到example部分研究一下。
(8)數據類型(重點只有兩個厂僧,剩下的不看)

數據結構

思維導圖:

image.png

抄筆記:
獲取示例數據:在公眾號后臺回復:“數據類型”即可獲得
(1)R的賦值符號不是等號扣草,而是<-
(2)在Console 控制臺輸入命令,相當于Linux的命令行
(3)R的代碼都是帶括號的颜屠,括號必須是英文的辰妙。
(4)顯示工作路徑 getwd()
(5)向量是由元素組成的,元素可以是數字或者字符串甫窟。
(6)表格在R語言中改名叫數據框
(7)別只復制代碼密浑,要理解其中的命令、函數的意思粗井。函數或者命令不會用時尔破,除了百度/谷歌搜索以外,用這個命令查看幫助:?read.table浇衬,調出對應的幫助文檔懒构,翻到example部分研究一下。
(8)數據類型(重點只有兩個耘擂,剩下的不看)

學習內容:

  • 向量(vector)??重要
  • 矩陣(Matrix)
  • 數組(Array)
  • 數據框(Data frame)??重要
  • List

1. 向量

1.1 元素胆剧、向量和標量

抄筆記:

  • 元素:數字或者字符串(用chr表示)等,根據它可以區(qū)分標量與向量醉冤;
  • 標量:一個元素組成的變量秩霍;
  • 向量:多個元素組成的變量;
  • 補充:一個向量是一排有序排列的元素蚁阳,以后會用到把一個向量作為數據框中的一列的情況铃绒。


    image.png

1.2 賦值

使用時,一般都會直接給變量定義螺捐,也就是“賦值”颠悬,字面意思是賦予這個變量一個數值(其實也不一定是數值矮燎,還可以是字符串/數據框等等)。

x<- c(1,2,3) #常用的向量寫法椿疗,意為將x定義為由元素1漏峰,2糠悼,3組成的向量届榄。
x
x<- 1:10 #從1-10之間所有的整數
x
x<- seq(1,10,by = 0.5) #1-10之間每隔0.5取一個數(注意是逗號不是分號)
x
x<- rep(1:3,times=2) #1-3 重復2次
x

抄筆記:
新手tips:
如果你把這幾行代碼都打過了,那么x就被你賦值了4次倔喂,結果就是铝条,第一次賦值被第二次的覆蓋了,第二次的賦值又被第三次的覆蓋了席噩,以此類推班缰,以最后一次為準哦。

練習1-1:

image.png

PS:教程里的例子未能理解悼枢,先跳過埠忘。

1.2 從向量中提取元素

1.2.1 根據元素位置

#這里的x是你剛才賦值的變量名,根據自己的情況來修改
x[4] #x第4個元素
x[-4]#排除法馒索,除了第4個元素之外剩余的元素
x[2:4]#第2到4個元素
x[-(2:4)]#除了第2-4個元素
x[c(1,5)] #第1個和第5個元素

練習1-2:


image.png

1.2.2 根據值

x[x==10]#等于10的元素
x[x<0]
x[x %in% c(1,2,5)]#存在于向量c(1莹妒,2,5)中的元素

練習1-3:


image.png
image.png

從向量中提取元素的命令參考:
R語言筆記-向量操作

2. 數據框:

抄筆記:
示例數據是如何獲得的绰上?(可跳過)
(1)新建doudou.txt旨怠,輸入以下(如果教程里讓你新建,又沒說在哪里蜈块,你就默認在工作目錄下新建鉴腻。)
X1,X2
A,1
B,
C,
D,3
E,
小抄截圖中顯示的NA表示空值,所以新建的時候像我一樣空著就好百揭。
用以下命令即可獲得示例數據框:
X<-read.csv('doudou.txt')
將示例數據放在你的工作目錄下(Kァ!器一!重要)

2.1 讀取本地數據

(以huahua.txt數據為例课锌,記得一定要放在工作目錄里,否則報錯盹舞。)
本節(jié)筆記參考前學員筆記

read.table函數讀入數據

文本數據常用儲存格式有兩種:一種是CSV(逗號分隔符文本)产镐,另一種是TXT(Tab分隔符或空格分隔符)。

  • 當數據文件所在目錄被設為工作目錄時踢步,讀入文件只需要寫文件名:read.table('cancer.txt', header=TURE)
  • 當不設置工作目錄時癣亚,讀入文件時需要寫完整路徑:read.table('C:/Data/mydata/cancer.txt', header=TURE)

2.1.1 讀入txt格式文件

read.table("huahua.txt",sep="\t",header=T)

read.table("doudou.txt",sep=",",header=T)

read.csv("huahua.txt",sep = " ",header =T)

但是不能read.csv("huahua.txt",sep = "\t",header =T)

image.png

sep,header是比較常用的參數获印,可以看幫助文檔理解述雾。

sep=
sep= :文件中的字段分離符,用于文件數據文本的讀取和保存過程中指定分割符號。

一般情況下:

  • csv 文件 sep = “,” # 以逗號分割
  • txt 文件 sep = “\t” #以制表符分割
  • 其他文件 sep = " " #以空格分割
  • 具體情況玻孟,具體調整
    >* 若不指定sep參數唆缴,則默認參數sep='\t'。
    來源:R語言 文本文件分割 符號 sep;前學員筆記
  • 練習:比較sep = ","黍翎、sep = "\t"面徽,sep = " ",sep = "? "匣掸。
image.png

未完待續(xù):
(1)比較read.table("doudou.txt")趟紊、read.csv("huahua.txt")、read.table(‘doudou.txt’)碰酝、read.csv(‘huahua.txt’)霎匈;

(2)比較read.table("huahua.txt",sep="\t",header=T)read.csv("huahua.txt",sep="\t",header=T)送爸;

注意:doudou.txt與huahua.txt的區(qū)別铛嘱。

結論:讀取txt文檔時,sep = ""袭厂、sep =墨吓,sep以及不輸入sep都不可以;必須對sep賦值嵌器。

"header="
一個邏輯值(header=TRUE or header=FALSE)肛真,用來反映這個文件的第一行是否包含變量名。

  • header=T 代表讀入數據時將第一行作為列名;
  • header= F 不使用文件中第一行作為列名爽航;

來源: 數據導入讀取read.table函數詳解蚓让,如何讀取不規(guī)則的數據(fill=T)前學員筆記

  • 練習:比較header=T與header= F


    image.png

2.1.2 讀入csv格式文件

read.csv("XX.csv",sep=",",header=T)讥珍,必須指定sep=","历极。
若使用read.csv函數讀入數據時,則必須設置txt格式文件讀入sep="\t"衷佃,而不需要指定csv文件的sep趟卸,因為默認為","。
來源:前學員筆記

image.png

2.2 設置行名和列名

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 = "\t",header =T,row.names=1)#最后row.names的意思是修改第一列為行名

(其實我們這個數據框并不需要改惯悠,如果你已經改了邻邮,知道怎么撤銷嗎?用剛才的read.table命令重新賦值一遍就可以覆蓋掉你剛才改瞎的了克婶。這也就是變量為什么叫"變"量)
嗯筒严。我故意寫了個大寫的X丹泉,就是告訴你一下大小寫是嚴格區(qū)分的,耶鸭蛙。

image.png

2.3 數據框的導出

write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改為逗號摹恨,字符串不加雙引號(默認格式帶由雙引號) 

write.table函數 write.table (x, file ="", sep ="", row.names =T, col.names =T, quote =T)
x:需要導出的數據
file:導出的文件路徑或名稱
sep:分隔符,"\t"或","或" "
row.names:是否導出行序號娶视,T是導出行序號
col.names:是否導出列名晒哄,T是導出列名
quote:字符串是否使用引號表示,T用引號表示歇万,F則不用雙引號揩晴。
來源:前學員筆記

image.png

2.4 變量的保存與重新加載

  • 這次沒有處理完的數據下次想接著用怎么辦?--學會保存和重新加載勋陪。保存的格式是RData贪磺。

save.image(file="bioinfoplanet.RData")#保存當前所有變量
save(X,file="test.RData")#保存其中一個變量
load("test.RData")#再次使用RData時的加載命令

save(X,file="123.RData") #在數據沒有處理完時臨時保存
load("test.RData") #重新加載
來源:前學員筆記

image.png

2.5 提取元素

(這里的X是的剛才的變量名,實際應用要懂得替換诅愚。)

- 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$列名#也可以提取列(優(yōu)秀寫法寒锚,而且這個命令還優(yōu)秀到不用寫括號的地步,并且支持Tab自動補全哦违孝,不過只能提取一列)
image.png

2.6【選修部分】直接使用數據框中的變量

未學習

問題:

回答問題:save(X,file="test.RData")這句代碼如果報錯object X not found刹前,是為什么,應該怎么解決雌桑?
回答:重新對X進行賦值喇喉,讀取本地數據。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末校坑,一起剝皮案震驚了整個濱河市拣技,隨后出現的幾起案子,更是在濱河造成了極大的恐慌耍目,老刑警劉巖膏斤,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異邪驮,居然都是意外死亡莫辨,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門毅访,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沮榜,“玉大人,你說我怎么就攤上這事喻粹◇∪冢” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵磷斧,是天一觀的道長振愿。 經常有香客問我捷犹,道長,這世上最難降的妖魔是什么冕末? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任萍歉,我火速辦了婚禮,結果婚禮上档桃,老公的妹妹穿的比我還像新娘枪孩。我一直安慰自己,他們只是感情好藻肄,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布蔑舞。 她就那樣靜靜地躺著,像睡著了一般嘹屯。 火紅的嫁衣襯著肌膚如雪攻询。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天州弟,我揣著相機與錄音钧栖,去河邊找鬼。 笑死婆翔,一個胖子當著我的面吹牛拯杠,可吹牛的內容都是我干的。 我是一名探鬼主播啃奴,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼潭陪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了最蕾?” 一聲冷哼從身側響起依溯,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎揖膜,沒想到半個月后誓沸,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡壹粟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年拜隧,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片趁仙。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡洪添,死狀恐怖,靈堂內的尸體忽然破棺而出雀费,到底是詐尸還是另有隱情干奢,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布盏袄,位于F島的核電站忿峻,受9級特大地震影響薄啥,放射性物質發(fā)生泄漏。R本人自食惡果不足惜逛尚,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一垄惧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绰寞,春花似錦到逊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至件缸,卻和暖如春铜靶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背停团。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工旷坦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人佑稠。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像旗芬,于是被迫代替她去往敵國和親舌胶。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345