# Characterはこういう比較結果になる。基本はアルファベット順(フォルダ名順)
"rainy" <= "rainy days"
## [1] TRUE
# TRUEは1,FALSEは0なのでTRUEになる
TRUE > FALSE
## [1] TRUE
# ベクターを作る
facebook <- c(17, 7, 5, 16, 8, 13, 14)
# ベクターのうち15を超えるものを探すのは簡単
facebook >=15
## [1] TRUE FALSE FALSE TRUE FALSE FALSE FALSE
# マトリックスでも同じことはできる。
facebook <- c(17, 7, 5, 16, 8, 13, 14)
facebook2 <- c(17, 7, 5, 16, 8, 13, 14)
views <- matrix(c(facebook,facebook2),nrow = 2, byrow = TRUE)
# 比較を&でつなぐと、全てTRUEでないとTRUEにならない
# 例えばあるベクターやマトリックスで3<x<7としたい時に利用。
# 3<x<7は機能せず3<x & x<7とする必要がある。
4<5 & 4>5
## [1] FALSE
c(TRUE, TRUE, FALSE) & c(TRUE, FALSE, FALSE)
## [1] TRUE FALSE FALSE
# 逆に|でつなぐとorみたいな感じ。どっちかがTRUEならTRUEでリターン(全てFALSEでないとFALSEにならない)
4<5 | 4>5
## [1] TRUE
c(TRUE, TRUE, FALSE) | c(TRUE, FALSE, FALSE)
## [1] TRUE TRUE FALSE
# &&や||のように2つ繋ぐと最初しか判断しない。
c(TRUE, TRUE, FALSE) && c(TRUE, FALSE, FALSE)
## [1] TRUE
# NOT operatorの!の動きも確認しておく。
!(3<5)
## [1] FALSE
# twitterというベクターを作る。
twitter <- c(0,4,5,3,20,0,0,2,8)
# 単にtwitter==0だとTRUEとFALSEの羅列
twitter==0
## [1] TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE
# twitter==0になる数が知りたければ、twitter==1という条件を格納
twitter_rule <- twitter==0
sum(twitter_rule)
## [1] 3
# 1行で書けば
sum(twitter==0)
## [1] 3
length(twitter[twitter==0])
## [1] 3
いろいろ試して見る。
# carsのスピードで20未満、5未満の数を調べる。まずは条件設定をvariableへ
car_rule <- cars$speed >20 | cars$speed <5
sum(car_rule)
## [1] 9
# 1行で書くと
sum(cars$speed >20 | cars$speed <5)
## [1] 9