R學(xué)習(xí)筆記(9):向量

向量:原子向量(邏輯型授翻、整型积暖、雙精度型藤为、字符型),列表

1. 原子向量

1.1 邏輯型

比較運算符構(gòu)建邏輯向量

> c(1,2,3,4,5) >= 3
[1] FALSE FALSE  TRUE  TRUE  TRUE

c()手動構(gòu)建

> c(TRUE, FALSE, FALSE)
[1]  TRUE FALSE FALSE
1.2 數(shù)值型

包括整型和雙精度型夺刑,R默認(rèn)是雙精度型的缅疟,如果想創(chuàng)建整型數(shù)值,要在后面加一個L遍愿。

注意

  • 雙精度型是近似值存淫,表示浮點數(shù)。不用==判斷相等沼填,用dplyr::near()桅咆。
  • 整型有一個特殊值,NA坞笙;雙精度型多三個岩饼,NaN、Inf薛夜、-Inf籍茧。輔助函數(shù)is.finite()、is.infinite()梯澜、is.na()寞冯、is.nan()可以判斷這些特殊值。
1.3 字符型

在R中腊徙,唯一的字符串只被保存一次简十,別的拷貝只是生成指向該字符串的指針。

2. 使用原子向量

2.1 強制轉(zhuǎn)換
顯示強制轉(zhuǎn)換

as.logical(), as.integer(), as.double(), as.character()

隱示強制轉(zhuǎn)換

需結(jié)合上下文環(huán)境撬腾。常見的比如:數(shù)值環(huán)境下的邏輯向量

原子向量不能包含不同類型的元素螟蝙,會轉(zhuǎn)換為最復(fù)雜的元素類型,列表才可以民傻。

> typeof(c(TRUE,1L,1.0,"1"))
[1] "character"
> typeof(c(TRUE,1L,1.0))
[1] "double"
> typeof(c(TRUE,1L))
[1] "integer"
> typeof(c(TRUE))
[1] "logical"
2.2檢驗函數(shù)
2.3向量循環(huán)

在R中會將較短的向量(這里包括"標(biāo)量")循環(huán)/重復(fù)到與較長的向量相同的長度胰默。

> 1:6+1
[1] 2 3 4 5 6 7
> 1:6+1:2
[1] 2 4 4 6 6 8
> 1:6+1:4 #不成整數(shù)倍關(guān)系時報警告
[1] 2 4 6 8 6 8
Warning message:
In 1:6 + 1:4 :
  longer object length is not a multiple of shorter object length

但tidyverse()中更嚴(yán)格一些,只會對標(biāo)量進(jìn)行循環(huán)漓踢。短向量要用rep()手動重復(fù)牵署。

2.4向量命名
> c(x=1,y=2)
x y 
1 2 
> vec <- c(1,2)
> purrr::set_names(vec,c("x","y"))
x y 
1 2
2.5向量取子集

一般形式x[......]

使用包含整數(shù)的數(shù)值向量
> x <- c(11,22,33,44,55)
> x[c(1,2,4,4)]
[1] 11 22 44 44
使用邏輯向量取子集
> x[x >= 30]
[1] 33 44 55
使用字符向量取子集,針對命名向量
> x <- set_names(x,c("a","b","c","d","e"))
> x[c("a","b","a")]
 a  b  a 
11 22 11

3.遞歸向量(列表)

> xlist <- list(a = 1:3, b = "a strings", c = list(1,2))
#生成小的列表
> xlist[1:2]
$a
[1] 1 2 3

$b
[1] "a strings"

> xlist["c"]
$c
$c[[1]]
[1] 1

$c[[2]]
[1] 2


#生成元素本身
> xlist[[1]]
[1] 1 2 3
> xlist[["a"]]
[1] 1 2 3
#$提取列表命令元素喧半,生成元素本身
> xlist$a
[1] 1 2 3

4.擴展向量

因子奴迅、日期、日期時間挺据、tibble

tibble或是數(shù)據(jù)框可以看成是擴展的列表

> df <- data.frame(x=1:5,y=6:10)
> typeof(df)
[1] "list" #理解為包含兩個元素的列表取具,第一個元素是向量1:5脖隶,第二個元素是6:10,豎著看
> attributes(df) #查看特性
$names #列名
[1] "x" "y"

$class #類
[1] "data.frame"

$row.names #行名
[1] 1 2 3 4 5

> df[[1]] #生成元素本身
[1] 1 2 3 4 5
> df[1] #生成小的數(shù)據(jù)框
  x
1 1
2 2
3 3
4 4
5 5
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末暇检,一起剝皮案震驚了整個濱河市产阱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌块仆,老刑警劉巖构蹬,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異悔据,居然都是意外死亡庄敛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門蜜暑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來铐姚,“玉大人,你說我怎么就攤上這事肛捍∫啵” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵拙毫,是天一觀的道長依许。 經(jīng)常有香客問我,道長缀蹄,這世上最難降的妖魔是什么峭跳? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮缺前,結(jié)果婚禮上蛀醉,老公的妹妹穿的比我還像新娘。我一直安慰自己衅码,他們只是感情好拯刁,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著逝段,像睡著了一般垛玻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奶躯,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天帚桩,我揣著相機與錄音,去河邊找鬼嘹黔。 笑死账嚎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播郭蕉,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼乏悄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了恳不?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤开呐,失蹤者是張志新(化名)和其女友劉穎烟勋,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筐付,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡卵惦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓦戚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沮尿。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖较解,靈堂內(nèi)的尸體忽然破棺而出畜疾,到底是詐尸還是另有隱情,我是刑警寧澤印衔,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布啡捶,位于F島的核電站,受9級特大地震影響奸焙,放射性物質(zhì)發(fā)生泄漏瞎暑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一与帆、第九天 我趴在偏房一處隱蔽的房頂上張望了赌。 院中可真熱鬧,春花似錦玄糟、人聲如沸勿她。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫂拴。三九已至,卻和暖如春贮喧,著一層夾襖步出監(jiān)牢的瞬間筒狠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工箱沦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辩恼,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像灶伊,于是被迫代替她去往敵國和親疆前。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

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