-
()
與[]
的區(qū)別在通常情況下术羔,
()
的使用常常伴隨函數(shù)的調(diào)用膝蜈。比如均值mean()
,求和sum()
等吕粗。為什么需要()
的存在纺荧?因?yàn)镽需要判斷輸入的邊界。在mean(1,2,3) + 2
這個(gè)例子中颅筋,是求1,2,3
的均值宙暇,然后用這個(gè)均值加上2
。也就是說(shuō)進(jìn)行求均值操作的是1,2,3
议泵,后面的2
并沒(méi)有包括在內(nèi)占贫。[]
這個(gè)符號(hào)培訓(xùn)時(shí)已經(jīng)講和見(jiàn)的蠻多,主要用來(lái)取子集先口,即提取原數(shù)據(jù)的部分值型奥。對(duì)于一維向量,例如> a = 10:20 > a [1] 10 11 12 13 14 15 16 17 18 19 20 > a[1:3] # 提取第1到第3個(gè)元素 [1] 10 11 12 > a[c(1,3)] # 提取第1個(gè)和第3個(gè)元素 [1] 10 12
我們可以通過(guò)整數(shù)值索引提取
a
的部分元素碉京。 幾個(gè)學(xué)員在中文windows系統(tǒng)中畫(huà)圖時(shí)發(fā)現(xiàn)報(bào)錯(cuò):
cannot open compressed file
的情況厢汹,可以看到文件路徑中有中文顯示????
,下面給出一個(gè)一位學(xué)員提供的答案:
-
apply()
函數(shù)第2個(gè)參數(shù)1
和2
是什么意思function (X, MARGIN, FUN, ...)
可以看到第2個(gè)參數(shù)的名字叫
MARGIN
收夸,函數(shù)的詳情請(qǐng)?jiān)赗控制臺(tái)中輸入?apply
后彈出的窗口中仔細(xì)閱讀坑匠。簡(jiǎn)單來(lái)說(shuō),
MARGIN=1
是讓函數(shù)對(duì)輸入的數(shù)據(jù)逐行計(jì)算卧惜,MARGIN=2
是逐列計(jì)算厘灼。下面用一個(gè)例子演示:> a = matrix(1:9, nrow = 3) > a [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > apply(a, 1, sum) # 指定使用sum求和函數(shù)逐行計(jì)算 [1] 12 15 18 > apply(a, 2, sum) # 指定使用sum求和函數(shù)逐列計(jì)算 [1] 6 15 24
-
運(yùn)行畫(huà)圖函數(shù)不能看到圖
這種情況一般是沒(méi)有正常關(guān)閉畫(huà)圖設(shè)備導(dǎo)致的夹纫。在R里面畫(huà)圖通常有兩種方式,一是直接運(yùn)行畫(huà)圖函數(shù)设凹,R會(huì)生成一個(gè)臨時(shí)的圖像舰讹,我們可以根據(jù)需要調(diào)整大小然后手動(dòng)保存。另一種是先打開(kāi)畫(huà)圖設(shè)備闪朱,我們常見(jiàn)的
.png
,.jpeg
,.pdf
等格式圖片都可以通過(guò)相應(yīng)的R函數(shù)png()
,jpeg()
和pdf()
打開(kāi)畫(huà)圖設(shè)備月匣,然后直接在設(shè)備上繪圖,繪圖后需要關(guān)閉設(shè)備奋姿。如果沒(méi)有正常關(guān)閉锄开,就會(huì)遇到Rstudio看不到出圖的情況。我們可以使用
dev.off()
函數(shù)進(jìn)行關(guān)閉称诗,一次不行可以多次萍悴。 -
芯片差異表達(dá)分析處理流程
這里請(qǐng)點(diǎn)擊閱讀基因芯片基因差異表達(dá)分析流程示例與討論,提供了一個(gè)簡(jiǎn)單的示例寓免,相應(yīng)的注釋和一些有用的參考癣诱。
-
<-
與=
的區(qū)別<-
是R里面特有的賦值操作符,它常等價(jià)于其他編程語(yǔ)言中使用的=
號(hào)袜香,通常兩者在R里面通用撕予。這也是為什么講師代碼里面有用<-
或=
進(jìn)行賦值的情況。<-
使用的好處是它可以直觀看到數(shù)據(jù)的流向蜈首,從右側(cè)流向左側(cè)实抡,而=
看不到這種,而且=
常被誤解為相等的意思疾就。實(shí)際上==
才是對(duì)相等的判斷澜术!因此新手常把=
與==
混淆使用導(dǎo)致報(bào)錯(cuò)。