*R語(yǔ)言基礎(chǔ)function

生成隨機(jī)數(shù)部分原帖地址:https://zhuanlan.zhihu.com/p/72859263

1. 取子集
data=read.table("file.txt",header=T)
data_part1=subset(data,Class=="A"|Class=="B")
data_part2=subset(data,Class=="A"&Group=="B")
2. 初始化一個(gè)空矩陣
newdata=matrix(nrow=10,ncol=5)
colnames(newdata)=c("ID","Gene","Group","Class","FPKM")

a=matrix(c(1,2,3,4,5,6,7,8,9,10),nrow=5,ncol=2)
a=  1  6
    2  7
    3  8
    4  9
    5  10

a=c(rep(0,5))
a=0 0 0 0 0
3. for循環(huán)
x=1:5
y=3:5
line=0
for (i in 1:5) {
  for (j in 1:3) {
    line=line+1;
    number1=x[i];
    number2=y[j];
    if (number1>number2 | number1<number2) {
      print(c(line,"no",x[i],y[j],"------------"));
    }
    else {
      print(c(line,"yes",x[i],y[j],"------------"));
    }
  }
}
4. T檢驗(yàn)
ttest=t.test()
5. 正態(tài)分布
df=data$Class
pnorm=pnorm(df,mean(df),sd(df))
6. 合并數(shù)據(jù)
#merge合并兩個(gè)數(shù)據(jù)框踱葛,標(biāo)識(shí)共同的列或行
merge(df1,df2,by="Gene")
merge(df1,df2,by.x="ID1",by.y="ID2")

#cbind根據(jù)列合并,合并所有列
cbind(df1,df2)

#rbind根據(jù)行合并光坝,合并所有行
rbind(df1,df2)

#paste
x=1:10
y=paste("k",x,sep="")
y=k1 k2 k3 ... k10
7. 產(chǎn)生空數(shù)組/矩陣
#做一個(gè)空矩陣
newmat=matrix(ncol=2,nrow=3)

#做一個(gè)空數(shù)組
arr=seq(from=0,to=0,length.out=10)
8.基礎(chǔ)計(jì)算公式
#常規(guī)除法
35/10

#取整數(shù)
35 %/% 10

#求余數(shù)
35 %% 10

#向下取整
floor(2.3)

#向上取整
ceiling(2.3)

#四舍五入取整
round(2.4)
[1] 2
round(2.5)
[1] 3
9.生成隨機(jī)數(shù)/數(shù)據(jù)
#runif
runif(n,min,max)
隨機(jī)生成n個(gè)在min和max之間的隨機(jī)數(shù)

#:
1:10
1到10的等差序列

#seq
seq(x,y,z)
x=起點(diǎn)尸诽,y=終點(diǎn),z=等間距

seq(from=x,to=y,length=z)
生成長(zhǎng)度為z的序列盯另,范圍從x到y(tǒng)

#rep
rep(1:3,3)
將1 2 3重復(fù)3次,1 2 3 1 2 3 1 2 3

rep(1:3,each=3)
將1 2 3中的每一個(gè)重復(fù)3次,1 1 1 2 2 2 3 3 3

#factor
x <- c("Man", "Male", "Man", "Lady", "Female")
xf <- factor(x, levels = c("Male", "Man" , "Lady", "Female"),
                 labels = c("Male", "Male", "Female", "Female"))
變成兩類標(biāo)簽

#gl
gl(3,5,length=15,label=c('a','b','c'))
a a a a a b b b b b c c c c c
gl(k,n,length=,label=)
構(gòu)造一個(gè)因子序列性含。k為水平數(shù),n為每個(gè)水平連續(xù)出現(xiàn)的次數(shù)鸳惯,length為整個(gè)序列的長(zhǎng)度商蕴,label為因子標(biāo)簽

#sample隨機(jī)取樣
sample(x, size, replace = FALSE, prob = NULL)
x被抽樣數(shù)據(jù);size抽樣個(gè)數(shù)芝发;replace = FALSE/TRUE無(wú)重復(fù)抽樣/重復(fù)抽樣绪商;prob挑選概率(x與prob對(duì)應(yīng))

sample(1:100, 20, replace=FALSE)
[1] 71 83 24 75 35 51  9 16 99 39 68 74 85 60 44 98 20  2 87 21

sample(letters, 20, replace=FALSE) #無(wú)重復(fù)
[1] "e" "a" "l" "c" "r" "h" "s" "z" "i" "d" "j" "g" "o" "f" "n" "y" "b" "t"
[19] "q" "m"

x = c(1:20)
sample(x)#隨機(jī)排列x

sample(c(0,1), 10, replace=TRUE, prob=c(0.2, 0.8)) 
#分別以0.2和0.8的概率抽取0和1
[1] 1 1 1 1 1 1 1 1 0 0

#strsplit(x) 字符分割
strsplit(x, split, fixed = FALSE, perl = FALSE)
根據(jù)split將x分割,若split=“”辅鲸,則將x分為單個(gè)字符
strsplit("split","", fixed = FALSE, perl = FALSE)
[1] "s" "p" "l" "i" "t"
#默認(rèn)split為正則表達(dá)式格郁,可使用fixed=TRUE,對(duì)split做精確匹配
#當(dāng)perl=TRUE時(shí)独悴,使用perl的正則表達(dá)式規(guī)則
#當(dāng)分隔符為?, +, {, |, (, )時(shí)例书,要使用'\\'來(lái)消除特殊含義

x <- "a5aa646a4d9a4da1d3a49d79a41d1da"
strsplit(x, "\\d") #根據(jù)每個(gè)數(shù)字分割

strsplit(x, "[:alnum:]") #任何一個(gè)字母或數(shù)字(等價(jià)于[a-ZA-Z0-9])

#生成擬合概率函數(shù)的數(shù)據(jù)
統(tǒng)一的形式:前綴+分布函數(shù)名
d 表示密度函數(shù)(density);p 表示分布函數(shù)(生成相應(yīng)分布的累積概率密度函數(shù))刻炒;q 表示分位數(shù)函數(shù)决采,能夠返回特定分布的分位數(shù)(quantile);r 表示隨機(jī)函數(shù)坟奥,生成特定分布的隨機(jī)數(shù)(random)
rnorm(100, mean=0, sd=1) #生成100個(gè)服從標(biāo)準(zhǔn)正態(tài)分布的序列

以此類推:
rexp(n, rate=1)   #指數(shù)
rgamma(n, shape, rate=1, scale=1/rate)   #r 分布
rpois(n, lambda)   #泊松
rt(n, df, ncp)   #t 分布
rf(n, df1, df2, ncp)   #f 分布
rbinom(n, size, prob)   #二項(xiàng)分布
rweibull(n, shape, scale=1)   #weibull 分布
rbata(n, shape1, shape2)   #bata 分布runif(n,min=0,max=1)  #均勻分布

#生成離散隨機(jī)變量(借助for循環(huán))
p1<-0.15
p2<-0.2
p3<-0.3
p4<-0.35
disrand<-function(i){
  u<-runif(1,0,1)   #生成0-1之間的一個(gè)隨機(jī)數(shù)
  if(u<p1) x <- 1 else #如果隨機(jī)數(shù)u小于p1
    if(u<p2+p2) x <- 2 else #如果隨機(jī)數(shù)u大于等于p1且小于p2+p2
      if(u<p3+p2+p1) x <- 3 else
        x <- 4
      return(x) #返回x
      }

Xa <- rep(NA,100) #生成一個(gè)有100個(gè)NA的向量树瞭,用于存放生成的隨機(jī)數(shù)
for (i in 1:100)
  Xa[i] <- disrand(i)
Xa

> Xa
  [1] 1 1 2 3 2 4 1 1 2 4 4 2 2 2 2 4 2 4 4 4 3 2 4 1 1 1 2 4 1 3 1 3 4 2 4 2
 [37] 2 4 4 1 4 3 2 4 3 4 3 3 3 4 4 3 4 2 2 1 4 4 2 1 4 2 4 2 4 1 2 2 1 4 4 3
 [73] 4 4 4 4 4 2 4 1 4 3 4 3 4 1 4 4 4 2 3 4 3 2 3 2 4 4 1 4
10.R語(yǔ)言中正則表達(dá)式轉(zhuǎn)義字符
類型 寫法 意義
空白元字符 [\b] 回退(并刪除)一個(gè)字符(backspace)
空白元字符 \f 換頁(yè)符
空白元字符 \n 換行符
空白元字符 \r 回車符
空白元字符 \t 制表符(tab)
空白元字符 \v 垂直制表符暂幼。注:\r\n是windows所用的文本行結(jié)束符,Unix和Linux只是用一個(gè)換行符來(lái)結(jié)束一個(gè)文本行
匹配數(shù)字與非數(shù)字 \d 任何一個(gè)數(shù)字字符移迫,等價(jià)于[0-9]
匹配數(shù)字與非數(shù)字 \D 任何一個(gè)非數(shù)字字符旺嬉,等價(jià)于^[0-9]
匹配字母\非字母與數(shù)字 \w 任何一個(gè)字母數(shù)字字符(大小寫均可以)或下劃線字符(等價(jià)于[a-zA-Z0-9])
匹配字母\非字母與數(shù)字 \W 任何一個(gè)非字母數(shù)字或下劃線字符(等價(jià)于[^a-zA-Z0-9])
匹配空白字符 \s 任何一個(gè)空白字符(等價(jià)于[\f\n\r\t\v])
匹配空白字符 \S 任何一個(gè)非空白字符(等價(jià)于[^\f\n\r\t\v])
POSIX字符類 [:alnum:] 任何一個(gè)字母或數(shù)字(等價(jià)于[a-ZA-Z0-9])
POSIX字符類 [:alpha:] 任何一個(gè)字母(等價(jià)于[a-ZA-Z])
POSIX字符類 [:blank:] 空格或制表符(等價(jià)于[\t ]) 注:t后面有一個(gè)空格
POSIX字符類 [:cntrl:] ASCII控制字符(ASCII 0到31,再加上ASCII 127)
POSIX字符類 [:digit:] 任何一個(gè)數(shù)字(等價(jià)于[0-9])
POSIX字符類 [:graph:] 和[:print:]一樣厨埋,但不包括空格
POSIX字符類 [:lower:] 任何一個(gè)小寫字母(等價(jià)于[a-z])
POSIX字符類 [:print:] 任何一個(gè)可打印字符
POSIX字符類 [:punct:] 既不屬于[:alnum:]邪媳,也不屬于[:cntrl:]的任何一個(gè)字符
POSIX字符類 [:space:] 任何一個(gè)空格字符,包括空格(等價(jià)于[f\n\r\t\v ] 注:v后面有一個(gè)空格
POSIX字符類 [:upper:] 任何一個(gè)大寫字母(等價(jià)于[A-Z])
POSIX字符類 [:xdigit:] 任何一個(gè)十六進(jìn)制數(shù)字(等價(jià)于[a-fA-F0-9])
其他 . 可以匹配任何單個(gè)的字符字母數(shù)字甚至.字符本身荡陷。不能匹配換行
其他 "\\" 轉(zhuǎn)義字符雨效,如果要匹配就要寫成"\\(\\)"
其他 | 表示可選項(xiàng),即豎線前后的表達(dá)式任選一個(gè)
其他 ^ 取非匹配
其他 $ 放在句尾废赞,表示一行字符串的結(jié)束
其他 () 提取匹配的字符串徽龟,(\s*)表示連續(xù)空格的字符串
其他 [] 選擇方括號(hào)中的任意一個(gè)(如[0-2]和[012]完全等價(jià),[Rr]負(fù)責(zé)匹配字母R和r)
其他 {} 前面的字符或表達(dá)式的重復(fù)次數(shù)唉地。如{5,12}表示重復(fù)的次數(shù)不能小于5据悔,不能多于12,否則都不匹配
其他 * 匹配零個(gè)或任意多個(gè)字符或字符集合耘沼,也可以沒有匹配
其他 + 匹配一個(gè)或多個(gè)字符极颓,至少匹配一次
其他 ? 匹配零個(gè)或一個(gè)字符
11. 分割字符
strsplit(字符,要分割的標(biāo)識(shí)群嗤,fixed = FALSE, perl = FALSE, useBytes = FALSE)

fixed=F菠隆,用正則表達(dá)
perl=F,是否用perl的表示方法
useBytes=T狂秘,一個(gè)字節(jié)一個(gè)字節(jié)的比骇径,F(xiàn)是一個(gè)詞一個(gè)詞的拆

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市者春,隨后出現(xiàn)的幾起案子破衔,更是在濱河造成了極大的恐慌,老刑警劉巖碧查,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件运敢,死亡現(xiàn)場(chǎng)離奇詭異校仑,居然都是意外死亡忠售,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門迄沫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)稻扬,“玉大人,你說(shuō)我怎么就攤上這事羊瘩√┘眩” “怎么了盼砍?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)逝她。 經(jīng)常有香客問(wèn)我浇坐,道長(zhǎng),這世上最難降的妖魔是什么黔宛? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任近刘,我火速辦了婚禮,結(jié)果婚禮上臀晃,老公的妹妹穿的比我還像新娘觉渴。我一直安慰自己,他們只是感情好徽惋,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布案淋。 她就那樣靜靜地躺著,像睡著了一般险绘。 火紅的嫁衣襯著肌膚如雪踢京。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天宦棺,我揣著相機(jī)與錄音漱挚,去河邊找鬼。 笑死渺氧,一個(gè)胖子當(dāng)著我的面吹牛旨涝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播侣背,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼白华,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了贩耐?” 一聲冷哼從身側(cè)響起弧腥,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎潮太,沒想到半個(gè)月后管搪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡铡买,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年更鲁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奇钞。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡澡为,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出景埃,到底是詐尸還是另有隱情媒至,我是刑警寧澤顶别,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站拒啰,受9級(jí)特大地震影響驯绎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谋旦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一条篷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蛤织,春花似錦赴叹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至摊鸡,卻和暖如春绽媒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背免猾。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工是辕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人猎提。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓获三,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親锨苏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子疙教,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 正則表達(dá)式基礎(chǔ)內(nèi)容 標(biāo)簽(空格分隔): linux 1.單個(gè)字符匹配 .:可以匹配任意單個(gè)字符(除\n除外) 2....
    別時(shí)茫茫閱讀 350評(píng)論 0 1
  • 正則表達(dá)式概念源于 《神經(jīng)網(wǎng)事件的表示法》論文中。 正則表達(dá)式就是用某種模式去匹配一類字符串的一種公式伞租。 正則表達(dá)...
    單板小智閱讀 783評(píng)論 0 1
  • 前幾天寫了一個(gè)很簡(jiǎn)陋的模板引擎贞谓,關(guān)于正則表達(dá)式,我整理了一下葵诈,僅供以后再忘記的時(shí)候參考~ 關(guān)于正則表達(dá)式(regu...
    peppermint_egg閱讀 460評(píng)論 0 1
  • 1 匹配驗(yàn)證-驗(yàn)證Email是否正確 2 在字符串中查詢字符或者字符串 3 常用正則表達(dá)式 4 舉例 打印結(jié)果 5...
    adXiang閱讀 57評(píng)論 0 0
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月裸弦,有人笑有人哭,有人歡樂(lè)有人憂愁作喘,有人驚喜有人失落理疙,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,544評(píng)論 28 53