學習小組Day5筆記--??D


? ? ? ? 生信起步第五站--R,果然,這個大哥有點復雜??


? ? ? ? 今天主要了解的是R的數(shù)據(jù)結構,一般呢包括以下幾個,但花花說向量和數(shù)據(jù)框是最重要的!

  • 向量
  • 矩陣
  • 數(shù)組
  • 數(shù)據(jù)框
  • 因子
  • 列表

向量

向量是由多個元素組成的變量。(有序排列)元素指的是數(shù)字或者字符串(用chr表示)等
標量是由一個元素組成的變量。

1 賦值
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取一個數(shù)(注意這里是逗號不是分號)
x<-rep(1:3,times=2) #1-3 重復2次
賦值

注:多次給一個變量(如:x)賦值,只會保存最后一個


變量值
2 從向量中提取元素
  • 根據(jù)元素位置
    x[4]x第4個元素
    x[-4]排除法,除了第4個元素之外剩余的元素
    x[2:4]第2到4個元素
    x[-(2:4)]除了……
    x[c(1,5)]第1個和第5個元素
    根據(jù)元素位置提取元素
  • 根據(jù)值得大小
    x[x==10]等于10的元素
    x[x<0]
    x[x %in% c(1,2,5)]存在于向量c(1,2,5)中的元素
    根據(jù)值得大小提取元素

注:前兩行會顯示(0),是因為在前面賦值的變量包括[1,2,3,1,2,3],沒有等于10的元素,第二行代碼同理,故換一下數(shù)值即可理解的更清晰。


數(shù)據(jù)框

1讀取本地數(shù)據(jù)

此項,尷尬的有兩點:
1.示例數(shù)據(jù)花花已給,直接下載即可;(請記得治療腦殘問題??)
2.代碼報錯是因少打(),輸入或tab鍵補全即可。(請再次記得治療腦殘問題??)

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

讀取數(shù)據(jù)

X<-read.csv("huahua.txt")
a<-read.table(file = "huahua.txt",sep = "\t",header =T)把這個數(shù)據(jù)框賦給一個變量

賦值查看

Data欄

2設置行名和列名

X<-read.csv('doudou.txt')在示例數(shù)據(jù)里有doudou.txt注意這里的變量X是一個數(shù)據(jù)框
colnames(X)查看列名
rownames(X)查看行名,默認值的行名就是行號,1.2.3.4...
colnames(X)[1]<-"bioplanet"有的公司返回數(shù)據(jù),左上角第一格為空,R會自動補為x,用這個命令來修改
X<-read.csv(file = "huahua.txt",sep = "\t",header =T,row.names=1)最后row.names的意思是修改第一列為行名

設置行名列名

3數(shù)據(jù)框導出

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

導出前

導出后

4變量的保存與重新加載

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

5提取元素
  • X[x,y]#第x行第y列
  • X[x,]#第x行
  • X[,y]#第y列(橫著寫,這是不夠懶也不夠優(yōu)秀卻能存在的寫法)
  • X[y] #第y列(豎著寫,這是懶惰又優(yōu)秀的寫法)
  • X[a:b]#第a列到第b列
  • X[c(a,b)]#第a列和第b列
  • X$列名#也可以提取列(優(yōu)秀寫法,而且這個命令還優(yōu)秀到不用寫括號的地步,并且支持Tab自動補全哦,不過只能提取一列)
    練習:將之前到處的yu.txt補兩列信息,作為提取來源,操作結果如下:

    提取元素
6直接使用數(shù)據(jù)框中的變量

目的:提取某兩列作散點圖(case、values是兩個列名)
花花說下面這在個是“勤勤懇懇”的人的做法

c <-data.frame(case=paste("S",c(1:50)),values=runif(50))
> plot(c$case,c$values)
提取某兩列作散點圖

然而,這才是王道!

1.attach用法

attach(c)將數(shù)據(jù)框名添加到搜索環(huán)境中:attach(c)
plot(case,values)作圖時就只需輸入列名(連$都不用了)
detach(c)做完后將a刪除出搜索環(huán)境detach(c)
局限性:兩個以上數(shù)據(jù)框的列名有沖突時,同時attach會報錯。

2.with

with()函數(shù):適用于當同名變量出現(xiàn)多次,避免程序定位錯誤的情況
在腳本窗口輸入以下東東,然后run,出來的散點圖都還是上面一樣啦~~~

+ plot(case,values)
x<<-summary(values)   #求和并賦值給x,<<的意思是作為全局變量,y也就是出了with循環(huán)仍有效。
})
x #運行完后打印x
with

Xmind

Xmind

? ? ? ?今天東西還蠻多的,代碼操作還好(除了瞎的毛?。?,但函數(shù)理解是個問題,需要用腦子啊??


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

相關閱讀更多精彩內(nèi)容

  • 理解數(shù)據(jù)類型:向量和數(shù)據(jù)框 part1: 向量 1. 向量 區(qū)分標量和向量“元素” 指的是數(shù)字或者字符串(用chr...
    徐沫沫閱讀 687評論 0 1
  • R語言學習筆記 R語言常識部分 R語句由函數(shù)和賦值構成。 R使用 <-,而不是傳統(tǒng)的 = 作為賦值符號。 尋求幫助...
    慧美huimei閱讀 289評論 0 3
  • R語言學習 1 向量 元素指的是數(shù)字或者字符串(用chr表示)標量:一個元素組成的變量向量:多個元素組成的變量 1...
    馬連洼小法師閱讀 285評論 0 0
  • 昨天遇到了問題,一直沒有解決,又趕火車,坐火車,耽誤了。今日補上。先總結一下基本知識。 1.變量賦值 x<-c(1...
    結香_36b7閱讀 324評論 0 0
  • 命運,安排了什么?誰和誰相遇,什么地方,哪個點? 初次見面,我們都略害羞,微微一笑。那種害羞像是多年未見的老朋友再...
    張小汝閱讀 1,128評論 5 3

友情鏈接更多精彩內(nèi)容