學習小組Day5筆記-鵝

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.標量和向量的區分

  • 首先明確“元素”的意思,元素指的是數字或者字符串(用chr表示)等,根據它可以區分兩個詞:
    標量:一個元素組成的變量(1或者"e")
    向量:多個元素組成的變量(c(1,2,3)或者c("e","zai","zi"))
    (補充:一個向量是一排有序排列的元素,以后會用到把一個向量作為數據框中的一列的情況。字符串使用時需要加引號)

  • 理解元素、向量和標量
    使用時,一般都會直接給變量定義,也就是“賦值”,字面意思是賦予這個變量一個數值(其實也不一定是數值,還可以是字符串/數據框等等)。
    x<- c(1,2,3)#常用的向量寫法,意為將x定義為由元素1,2,3組成的向量。
    x<- 1:10#從1-10之間所有的整數
    x<- seq(1,10,by = 0.5) #1-10之間每隔0.5取一個數(注意是逗號不是分號)
    x<- rep(1:3,times=2)#1-3 重復2次

    QQ圖片20201013180518.png

    tips:如果這幾行代碼都打過了,那么x就被賦值了4次,結果就是,第一次賦值被第二次的覆蓋了,第二次的賦值又被第三次的覆蓋了,以此類推,以最后一次為準哦。

  • 給變量賦值后


    1.png
2.png

2.從向量中提取元素

1111.png

二、數據框

  • 練習:X<-read.csv('doudou.txt')
3.png

(1)讀取本地數據
read.table(file = "huahua.txt",sep = "\t",header=T)#sep = "\t":以Tab作為分隔符,header=T:表示文件數據帶表頭
<-read.table(file = "huahua.txt",sep = "\t",header=T
注意:

image.png

(2)設置行名和列名
X<-read.csv('doudou.txt') #在示例數據里有doudou.txt 注意這里的變量X是一個數據框
colnames(X)#查看列名
rownames(X)#查看行名,默認值的行名就是行號,1.2.3.4...
colnames(X)[1]<-"bioplanet"#有的公司返回數據,左上角第一格為空,R會自動補為x,用這個命令來修改,將第一列列名更改為bioplanet
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1)#最后row.names的意思是修改第一列為行名
(3)數據框的導出
write.table(X,file = "yu.txt",sep = ",",quote=F)#分隔符改為逗號,字符串不加雙引號(默認格式帶由雙引號)quote=F表示輸出的char或factor不用""引住;quote=T則使用""

image.png

(4)變量的保存與重新加載

  • (這次沒有處理完的數據下次想接著用怎么辦?--學會保存和重新加載。保存的格式是RData。)
  1. save.image(file="bioinfoplanet.RData")#保存當前所有變量
  2. save(X,file="test.RData")#保存其中一個變量
  3. load("test.RData")#再次使用RData時的加載命令
    (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$列名#也可以提取列(優秀寫法,而且這個命令還優秀到不用寫括號的地步,并且支持Tab自動補全哦,不過只能提取一列)
    (6)【選修部分】直接使用數據框中的變量
    提取某兩列作散點圖:
  • options(stringsAsFactors = T)#環境設置函數,設置數據框的讀取方式,將String讀取為Factor
  • a <-data.frame(case=paste0("S",1:9),values=runif(9))paste0("S",1:9)將S與1-9的數字連接起來形成字符,runif(9):產生9個隨機數
  • plot(a$case,a$values)

省力不用重復輸入a

方法1:attach
將數據框名添加到搜索環境中:attach(a),作圖時就只需輸入列名(連$都不用了)。

  • attach(a)
  • plot(case,values)
    方法2:with
    with(a,{ plot(case,values)
    x<<-summary(values) #求和并賦值給x,<<的意思是作為全局變量,也就是出了大括號仍有效。})
    x #運行完后打印x

作業:save(X,file="test.RData")這句代碼如果報錯object X not found,是為什么,應該怎么解決?

回答:沒有定義X變量

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。