R語(yǔ)言初步-數(shù)據(jù)轉(zhuǎn)換-1.filter() 函數(shù)

R語(yǔ)言學(xué)習(xí)筆記總結(jié)


R語(yǔ)言初步-用dplyr進(jìn)行數(shù)據(jù)轉(zhuǎn)換

五個(gè)核心dplyr函數(shù)

按篩選值觀(guān)測(cè):filter()
對(duì)行進(jìn)行重新排序:arrange()
對(duì)名稱(chēng)選取變量:select()
使用現(xiàn)有變量的函數(shù)創(chuàng)建新的變量:mutate()
mutate:變異 ; 突變 ; 改變 ; 數(shù)據(jù)修改 ; 變種 ; 變化 ; 產(chǎn)生突變
將多個(gè)值總結(jié)為一個(gè)摘要統(tǒng)計(jì)量:summarize()

工作規(guī)律:

  • 第一個(gè)參數(shù)是數(shù)據(jù)框
  • 隨后的參數(shù)是變量名稱(chēng)
  • 輸出新的數(shù)據(jù)框

補(bǔ)充:

關(guān)于數(shù)據(jù)類(lèi)型的說(shuō)明
1.int:整數(shù)型變量
2.dbl:雙精度浮點(diǎn)數(shù)形變量才菠,實(shí)數(shù)
3.chr:字符向量,字符串
4.dttm:日期+時(shí)間格式的數(shù)據(jù)
5.lgl:邏輯型變量贡定,TRUE或者FALSE
6.fctr:因子赋访,R語(yǔ)言中,用它來(lái)表示具有固定數(shù)目的值的分類(lèi)變量
7.data:日期型變量

install.packages("tidyverse")
install.packages("nycflights13")#仍然記得要先安裝
library(nycflights13)#航班信息文件
library(tidyverse)

?flights#查看數(shù)據(jù)信息的說(shuō)明書(shū)
flights#查看航班信息

1.使用filter() 篩選 行

filter(flights,month==1,day==1)
#運(yùn)行后所有一月一日的航班信息自動(dòng)形成新的數(shù)據(jù):

注意R語(yǔ)言中的等于是==缓待,注意輸入細(xì)節(jié)蚓耽。
運(yùn)行結(jié)果:

# A tibble: 842 x 19
    year month   day dep_time sched_dep_time dep_delay arr_time
   <int> <int> <int>    <int>          <int>     <dbl>    <int>
 1  2013     1     1      517            515         2      830
 2  2013     1     1      533            529         4      850
 3  2013     1     1      542            540         2      923
 4  2013     1     1      544            545        -1     1004
 5  2013     1     1      554            600        -6      812
 6  2013     1     1      554            558        -4      740
 7  2013     1     1      555            600        -5      913
 8  2013     1     1      557            600        -3      709
 9  2013     1     1      557            600        -3      838
10  2013     1     1      558            600        -2      753
# ... with 832 more rows, and 12 more variables: sched_arr_time <int>,
#   arr_delay <dbl>, carrier <chr>, flight <int>, tailnum <chr>,
#   origin <chr>, dest <chr>, air_time <dbl>, distance <dbl>, hour <dbl>,
#   minute <dbl>, time_hour <dttm>

此時(shí)生成的新數(shù)據(jù)框只是一個(gè)展示,如果想要繼續(xù)使用這個(gè)數(shù)據(jù)旋炒,那就需要~給他一個(gè)名分--比如賦值給Jan1

  • 小小技巧~?:Alt鍵和減號(hào)鍵一起按步悠,可以快速打出R語(yǔ)言中的賦值符號(hào)
Jan1 <- filter(flights,month==1,day==1)

熟練操作后,篩選和賦值也可以同步進(jìn)行:

(dec25 <- filter(flights,month==12,day==5))
#運(yùn)行后直接展示生成的數(shù)據(jù)框

結(jié)果:

# A tibble: 969 x 19
    year month   day dep_time sched_dep_time dep_delay arr_time
   <int> <int> <int>    <int>          <int>     <dbl>    <int>
 1  2013    12     5       16           2159       137      117
 2  2013    12     5       27           2035       232      143
 3  2013    12     5       31           2229       122      153
 4  2013    12     5       32           1930       302      228
 5  2013    12     5       38           2359        39      505
 6  2013    12     5       50           2046       244      233
 7  2013    12     5       56           2359        57      510
 8  2013    12     5      155           2130       265      445
 9  2013    12     5      457            500        -3      637
10  2013    12     5      512            515        -3      753
# ... with 959 more rows, and 12 more variables: sched_arr_time <int>,
#   arr_delay <dbl>, carrier <chr>, flight <int>, tailnum <chr>,
#   origin <chr>, dest <chr>, air_time <dbl>, distance <dbl>, hour <dbl>,
#   minute <dbl>, time_hour <dttm>

關(guān)于基本運(yùn)算符

  • ">"
  • ">="
  • "<"
  • "<="
  • "!=" 不等于
  • "==" 等于 *很容易和=搞混

常見(jiàn)錯(cuò)誤舉例:

sqrt(2)^2==2 #sqrt()根號(hào)
#運(yùn)行:
[1] FALSE
1/49*49==1
#運(yùn)行:
[1] FALSE

解釋?zhuān)河?jì)算機(jī)后臺(tái)已經(jīng)進(jìn)行了計(jì)算瘫镇,成為一個(gè)近似值所以sqrt(2)等于1.414(浮點(diǎn)數(shù))鼎兽,平方運(yùn)算后也不等于2,運(yùn)行結(jié)果當(dāng)然是FALSE铣除。

比較浮點(diǎn)數(shù)是否相等的函數(shù)near():

near(sqrt(2)^2,2)
運(yùn)行:
[1] TRUE
1/49*49==1
運(yùn)行:
[1] TRUE

關(guān)于邏輯運(yùn)算符

  • "&" 與
  • "|" 或
  • "!" 非

比如:

filter(flights,month==11|month==12)
#運(yùn)行后找到了11和12月運(yùn)行的航班

注意以下寫(xiě)法是錯(cuò)誤的:

filter(flights,month==11|12)

一種簡(jiǎn)寫(xiě)方式:

nov_dec <- filter(flights,month %in% c(11,12))

%in% 代表 month值是11,12的數(shù)據(jù)

簡(jiǎn)寫(xiě)形式:代表變量x(month)是y(11,12)值時(shí)的數(shù)據(jù)

x %in% y

邏輯運(yùn)算符的用法比較復(fù)雜谚咬,在編寫(xiě)代碼的過(guò)程中及時(shí)賦值,利于檢查通孽。

關(guān)于缺失值

NA即not available序宦,表示未知值
但是未知的值≠缺失值:

未知的值本質(zhì)上可以是任何一個(gè)量,兩個(gè)NA是無(wú)法劃等號(hào)的背苦。但是缺失值缺卻可以有準(zhǔn)確的“定位”互捌,給它一個(gè)名稱(chēng)之后仍可以參與運(yùn)算,可以初步理解為未知數(shù)行剂。

設(shè)定某個(gè)值是未知值的辦法:

is.na(X)
小鹿~
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秕噪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子厚宰,更是在濱河造成了極大的恐慌腌巾,老刑警劉巖遂填,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異澈蝙,居然都是意外死亡吓坚,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)灯荧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)礁击,“玉大人,你說(shuō)我怎么就攤上這事逗载《吡” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵厉斟,是天一觀(guān)的道長(zhǎng)挚躯。 經(jīng)常有香客問(wèn)我,道長(zhǎng)擦秽,這世上最難降的妖魔是什么码荔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮号涯,結(jié)果婚禮上目胡,老公的妹妹穿的比我還像新娘锯七。我一直安慰自己链快,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布眉尸。 她就那樣靜靜地躺著域蜗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪噪猾。 梳的紋絲不亂的頭發(fā)上霉祸,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音袱蜡,去河邊找鬼丝蹭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛坪蚁,可吹牛的內(nèi)容都是我干的奔穿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼敏晤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼贱田!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起嘴脾,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤男摧,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體耗拓,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拇颅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乔询。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔬蕊。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖哥谷,靈堂內(nèi)的尸體忽然破棺而出岸夯,到底是詐尸還是另有隱情,我是刑警寧澤们妥,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布猜扮,位于F島的核電站,受9級(jí)特大地震影響监婶,放射性物質(zhì)發(fā)生泄漏旅赢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一惑惶、第九天 我趴在偏房一處隱蔽的房頂上張望煮盼。 院中可真熱鬧,春花似錦带污、人聲如沸僵控。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)报破。三九已至,卻和暖如春千绪,著一層夾襖步出監(jiān)牢的瞬間充易,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工荸型, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盹靴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓瑞妇,卻偏偏與公主長(zhǎng)得像稿静,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子踪宠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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