學習小組54期 5th day-數(shù)據結構--忍冬

2020-04-21

今天的內容:

數(shù)據結構

  1. 標量和變量
> x<-c(1,2,3)
> x
[1] 1 2 3
> x<-1:10
> x
 [1]  1  2  3  4  5  6  7  8  9 10
> x<-seq(1,10,by = 0.5)
> x
 [1]  1.0  1.5  2.0  2.5  3.0  3.5  4.0  4.5  5.0  5.5  6.0  6.5  7.0  7.5  8.0  8.5  9.0  9.5 10.0
> x<-rep(1:3,times=2)
> x
[1] 1 2 3 1 2 3
  1. 從向量中提取元素
    2.1 根據元素位置
> x[4]
[1] 1
> x[-4]
[1] 1 2 3 2 3
> x[2:4]
[1] 2 3 1
> x[-2:4]     #R的代碼都是帶括號的,括號必須是英文的。
Error in x[-2:4] : only 0's may be mixed with negative subscripts
> x[-(2:4)]
[1] 1 2 3
> x[-(2)&-(4)]    #不理解啥意思,難道不是:排除第2及第4后的元素嗎?
[1] 1 2 3 1 2 3
> x[c(2,4)]
[1] 2 1
> x[c(2:4)]
[1] 2 3 1
> 

?2.2 根據值

> x==10   #x=10的元素
[1] FALSE FALSE FALSE FALSE FALSE FALSE
> x==1
[1]  TRUE FALSE FALSE  TRUE FALSE FALSE
> x<2
[1]  TRUE FALSE FALSE  TRUE FALSE FALSE
  1. 數(shù)據框
    3.1 讀取本地數(shù)據
    上傳數(shù)據到newbee.Rproj所在目錄:


> read.table(file ="huahua.txt",sep = "\t",header =T)
  X1 X2
1  A  1
2  B NA
3  C NA
4  D  3
5  E NA

?3.2 設置行名、列名

> X<-read.csv("doudou.txt")
> col(X)
     [,1] [,2]
[1,]    1    2
[2,]    1    2
[3,]    1    2
[4,]    1    2
[5,]    1    2
> colnames(X)
[1] "X1" "X2"
> rownames(X)
[1] "1" "2" "3" "4" "5"
> colnames(X)[1]<-"bioplanet"   #命名第一列
> X
  bioplanet X2
1         A  1
2         B NA
3         C NA
4         D  3
5         E NA
X<-read.csv(file = "huahua.txt",sep = " ",header =T,row.names=1) #row.names的意思是修改第一列為行名
X

?3.3 數(shù)據框的導出

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

?3.4 變量的保存與重新加載

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

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

> X
  X2
A  1
B NA
C NA
D  3
E NA
> X[2,2]
NULL
> X[2,1]
[1] NA
> X[1,1]
[1] 1
> X[4,]
[1] 3
> X[,1]
[1]  1 NA NA  3 NA
> X[,0]
data frame with 0 columns and 5 rows
> X[1]
  X2
A  1
B NA
C NA
D  3
E NA
> X$X2   #列名
[1]  1 NA NA  3 NA

?3.6 直接使用數(shù)據框中的變量

a <-data.frame(case=paste("S",1:50),values=runif(50))
 plot(a)
a
plot(a$case,a$values)   #發(fā)現(xiàn)x y軸名改變了
a`
  • 1:attach

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

attach(a)
plot(case,values)

做完后將a刪除出搜索環(huán)境 detach(a)
局限性:兩個以上數(shù)據框的列名有沖突時,同時attach會報錯。

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

?3.7 思考題

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

可能的原因:X不存在?此時應該檢查X的變量名稱是否正確?或者工作的目錄變化了?其實我不知道原因……

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 個人學習批處理的初衷來源于實際工作;在某個迭代版本有個BS(安卓手游模擬器)大需求,從而在測試過程中就重復涉及到...
    Luckykailiu閱讀 4,990評論 0 11
  • R語言的數(shù)據結構 相較昨天難了一丟丟,還是需要多理解和消化,學會動手百度一下也很重要,以及代碼一定要理解不能純復制...
    LiGaZn閱讀 330評論 0 1
  • 數(shù)據結構的學習 基礎知識 R的賦值符號不是=,而是<- Console控制臺=Linux命令行 R的代碼都是帶括號...
    Hannahhao閱讀 264評論 0 0
  • 在C語言中,五種基本數(shù)據類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 4,045評論 0 2
  • 生信學習第5天,昨天學習Rstudio基本操作后,今天繼續(xù)學習R語言的向量、數(shù)據框。 向量 1. 標量和向量的區(qū)分...
    森森_486c閱讀 399評論 0 0

友情鏈接更多精彩內容