學(xué)習(xí)小組Day6筆記--沈亦青

R包學(xué)習(xí)


1.安裝和加載R包

1.1 鏡像設(shè)置:加快下載速度

options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #對(duì)應(yīng)清華源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #對(duì)應(yīng)中科大源

1.2 安裝包
install.packages("包") #FROM CRAN
BiocManager::install("包")#FROM Biocductor
1.3 加載包
library(包)
require(包)

2. 使用基本函數(shù)

2.1 新增列mutate(變量名布讹,列)

test <- iris[c(2:3,5:6,130:132),]#使用[行率挣,]調(diào)取數(shù)據(jù)框的行
mutate(test,new = Sepal.Length + Sepal.Width)#整一個(gè)新的列叫做new
  • mutate函數(shù)新建一列刻伊,transmute函數(shù)新建一列后覆蓋。

2.2 篩選列select(變量名椒功,列號(hào))

select(test,1,2)
select(test,Sepal.Length)
vars <- c("Petal.Length", "Petal.Width")
select(test, one_of(vars))
  • one_of()是用來聲明選擇對(duì)象的捶箱。比如one_of("x","y")就是表明選擇x,y變量

2.3 篩選行 filter(變量名,條件)

  • ??給大家看看這個(gè)蠢蛋寫一個(gè)函數(shù)錯(cuò)多少回
> filter(test,1)#不能按照行號(hào)來
錯(cuò)誤: Argument 2 filter condition does not evaluate to a logical vector
> filter(test,Peter.Length > 5 | Sepcies == setosa)#人家不叫peter
錯(cuò)誤: 找不到對(duì)象'Peter.Length'
> > filter(test,Petal.Length > 5 | Sepcies == setosa)#復(fù)制多了一個(gè)>
錯(cuò)誤: 意外的'>' in ">"
> filter(test,Petal.Length > 5 | Sepcies == setosa)#species拼錯(cuò)
錯(cuò)誤: 找不到對(duì)象'Sepcies'
> filter(test,Petal.Length > 5 | Species == setosa)#沒給字符加引號(hào)
錯(cuò)誤: 找不到對(duì)象'setosa'
> filter(test,Petal.Length > 5 | Species == "setosa")
  Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
1          4.9         3.0          1.4         0.2    setosa
2          4.7         3.2          1.3         0.2    setosa
3          5.0         3.6          1.4         0.2    setosa
4          5.4         3.9          1.7         0.4    setosa
5          7.2         3.0          5.8         1.6 virginica
6          7.4         2.8          6.1         1.9 virginica
7          7.9         3.8          6.4         2.0 virginica

2.4 按列進(jìn)行排序arrange(變量,列)

arrange(test, Sepal.Length)#默認(rèn)從小到大排序
arrange(test, desc(Sepal.Length))#用desc從大到小排序

2.5 數(shù)據(jù)匯總summarise()

  • 常與group_by(變量动漾,列名)進(jìn)行分組后使用
summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 計(jì)算Sepal.Length的平均值和標(biāo)準(zhǔn)差
# 先按照Species分組丁屎,計(jì)算每組Sepal.Length的平均值和標(biāo)準(zhǔn)差
group_by(test, Species)
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))

2.6 dplyr包的管道操作
%>% (ctrl+shift+M)

符號(hào):%>%是管道操作,其意思是將%>%左邊的對(duì)象傳遞給右邊的函數(shù)旱眯。
說明:%>%來自dplyr包的管道函數(shù)晨川,其作用是將前一步的結(jié)果直接傳參給下一步的函數(shù),從而省略了中間的賦值步驟删豺,可以大量減少內(nèi)存中的對(duì)象共虑,節(jié)省內(nèi)存

test %>% 
  group_by(Species) %>% 
  summarise(mean(Sepal.Length), sd(Sepal.Length))

2.7 統(tǒng)計(jì)某列的值及出現(xiàn)次數(shù)
count(test,Species)
test %>% count(Sepal.Length) #用上了管道
2.8 連接列表

String是字符串,可用于記錄瑣細(xì)信息呀页。Factor是用于給一行記錄做“分類標(biāo)記”妈拌。
對(duì)于Factor類型屬性,R語言可以自動(dòng)統(tǒng)計(jì)數(shù)據(jù)的factor水平(level)蓬蝶。
stringsAsFactors = F意味著尘分,“在讀入數(shù)據(jù)時(shí)猜惋,遇到字符串之后,不將其轉(zhuǎn)換為factors培愁,仍然保留為字符串格式”惨奕。

options(stringsAsFactors = F)

test1 <- data.frame(x = c('b','e','f','x'), 
                    z = c("A","B","C",'D'),
                    stringsAsFactors = F)
test2 <- data.frame(x = c('a','b','c','d','e','f'), 
                    y = c(1,2,3,4,5,6),
                    stringsAsFactors = F)#準(zhǔn)備兩個(gè)數(shù)據(jù)框,不引入factor
inner_join(test1, test2, by = "x") #根據(jù)x列取交集
left_join(test1, test2, by = 'x') #根據(jù)第一個(gè)變量的x列在左側(cè)連接
left_join(test2, test1, by = 'x') #交換順序
full_join( test1, test2, by = 'x') #全連接
semi_join(x = test1, y = test2, by = 'x') # 半連接:返回能夠與y表匹配的x表所有記錄
anti_join(x = test2, y = test1, by = 'x')# 反連接:返回?zé)o法與y表匹配的x表的所記錄
bind_rows(test1, test2) #將列表簡(jiǎn)單連接
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末竭钝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子雹洗,更是在濱河造成了極大的恐慌香罐,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件时肿,死亡現(xiàn)場(chǎng)離奇詭異庇茫,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)螃成,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門旦签,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人寸宏,你說我怎么就攤上這事宁炫〉” “怎么了竿秆?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵匪燕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我界拦,道長(zhǎng)享甸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任择示,我火速辦了婚禮汪诉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布奢米。 她就那樣靜靜地躺著纠永,像睡著了一般鬓长。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上尝江,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天涉波,我揣著相機(jī)與錄音,去河邊找鬼。 笑死啤覆,一個(gè)胖子當(dāng)著我的面吹牛胶台,可吹牛的內(nèi)容都是我干的器贩。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼歌径,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼吹散!你這毒婦竟也來了盛霎?” 一聲冷哼從身側(cè)響起申窘,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤婶希,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后见剩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杀糯,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年炮温,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牵舵。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡柒啤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出畸颅,到底是詐尸還是另有隱情担巩,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布没炒,位于F島的核電站涛癌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏送火。R本人自食惡果不足惜拳话,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望种吸。 院中可真熱鬧弃衍,春花似錦、人聲如沸坚俗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)猖败。三九已至速缆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間恩闻,已是汗流浹背艺糜。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人倦踢。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓送滞,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親辱挥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子犁嗅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

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