iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0
Python

Python和R入門語法比較系列 第 24

12 [R] 布林值和表格條件選取 [16th 鐵人 Day 24]

  • 分享至 

  • xImage
  •  

邏輯值logical:TURE/FALSE # 字母都要大寫

print(class(TRUE))
print(class(FALSE))

[1] "logical"
[1] "logical"

><比大小:關係運算符號(關係運算子)

print(class(2>1))
print(class(2<1))

[1] "logical"
[1] "logical"

==: 等於等於才是等於

1==1

class(1==1)

[1] TRUE
[1] "logical"

!=: 不等於

1!=1

[1] FALSE

  • TRUE
  • FALSE

邏輯運算

and: &

print(TRUE & TRUE)
print(TRUE & FALSE)
print(FALSE & TRUE)
print(FALSE & FALSE)

[1] TRUE
[1] FALSE
[1] FALSE
[1] FALSE

or: |

print(TRUE | TRUE)
print(TRUE | FALSE)
print(FALSE | TRUE)
print(FALSE | FALSE)

[1] TRUE
[1] TRUE
[1] TRUE
[1] FALSE

not: !

!TRUE
!FALSE

[1] FALSE
[1] TRUE

比大小+邏輯

and: &

print(2>1 & 1==1)
print(2>1 & 1!=1)
print(2<1 & 1==1)
print(2<1 & 1!=1)

[1] TRUE
[1] FALSE
[1] FALSE
[1] FALSE

or: |

print(2>1 | 1==1)
print(2>1 | 1!=1)
print(2<1 | 1==1)
print(2<1 | 1!=1)

[1] TRUE
[1] TRUE
[1] TRUE
[1] FALSE

not: !

print(! 1==1)
print(! 1!=1)

[1] FALSE
[1] TRUE

讀檔

點我下載:song_rank3.csv

setwd('/Users/carplee/Desktop/files/IT python')

r = read.csv('data/song_rank3.csv')
r

https://ithelp.ithome.com.tw/upload/images/20240923/20162398pavBm0beNB.png

用邏輯值 選取資料

建立一個數值向量

ps = c(1,2,3,4)

https://ithelp.ithome.com.tw/upload/images/20240923/20162398pvlu3UeB3e.png

建立 4個 邏輯值 T T F T

logic = c(TRUE, TRUE, FALSE, TRUE)

https://ithelp.ithome.com.tw/upload/images/20240923/20162398fm0M4ZfD35.png

ps[logic]只會留下TRUE的

ps[logic]

[1] 1 2 4

計算排名中 獨唱曲有?首 合唱曲有?首

* 獨唱曲: art1欄 有值 & art2欄 空值(null)

* 合唱曲: art1欄 有值 $ art2欄 有值

所以其實只要看art2是否為空值 即可

art2非空值者

r$art2 !='' # R的向量運算 預設即針對向量中的每個元素來做運算

[1] FALSE TRUE TRUE TRUE FALSE TRUE FALSE
[8] FALSE FALSE FALSE FALSE FALSE TRUE TRUE

a2 = r$art2 !=''

用df[logic,] 取得 art2 不是空值的: 合唱曲

r[a2,]
   Rank  Hits         Song Co      art1   art2
2     2 74629        勇氣  是    魏嘉瑩 魏如昀
3     3 62531 沒什麼大不了 是    陳芳語 茄子蛋
4     4 38971          我  是    蕭敬騰   馬佳
6     6  7023  愛情限時批  是 琳誼 Ring 許富凱
13   13  2222        力量  是    魏嘉瑩 魏如昀
14   14  1083       很重要 是    陳芳語 茄子蛋
              Artist       Date
2     魏嘉瑩, 魏如昀 2021-07-27
3    陳芳語 , 茄子蛋 2021-08-06
4       蕭敬騰, 馬佳 2021-08-06
6  琳誼 Ring, 許富凱 2021-08-01
13    魏嘉瑩, 魏如昀 2021-07-12
14   陳芳語 , 茄子蛋 2021-08-09
                                                                    Url
2  https://www.kkbox.com/tw/tc/song/PLQ004POLLr78J1P78J1P0XL-index.html
3  https://www.kkbox.com/tw/tc/song/uX800A9O0.rHGjNHHGjNH0XL-index.html
4  https://www.kkbox.com/tw/tc/song/kZd00W8WP.rkDPo9kDPo90XL-index.html
6  https://www.kkbox.com/tw/tc/song/Gpb00L-OOTrXdqOPXdqOP0XL-index.html
13 https://www.kkbox.com/tw/tc/song/PLQ004POLLr78J1P78J1P0XL-index.html
14 https://www.kkbox.com/tw/tc/song/uX800A9O0.rHGjNHHGjNH0XL-index.html
   Artist2
2        0
3        0
4        0
6        0
13       0
14       0

用df[!logic] 取得 art2是空值的: 獨唱曲

r[!a2,]
   Rank  Hits        Song Co           art1 art2         Artist       Date
1     1 98318   青空未來  否    五月天 阿信         五月天 阿信 2021-07-28
5     5 12342    人間遊戲 否         吳汶芳             吳汶芳  2021-07-30
7     7  5382   故作完美  否         張語噥             張語噥  2021-07-30
8     8  4999       我們  否     Ray 黃霆睿          Ray 黃霆睿 2021-07-29
9     9  4823 愛在蔓延時  否       飛兒樂團           飛兒樂團  2021-07-20
10   10  4810   煙火星辰  否 摩登兄弟劉宇寧      摩登兄弟劉宇寧 2021-07-25
11   11  4333   紅空過去  否    五月天 阿信         五月天 阿信 2021-07-28
12   12  3204    放空現在 否    五月天 阿信         五月天 阿信 2021-07-04
                                                                    Url Artist2
1  https://www.kkbox.com/tw/tc/song/d6L00KOUN.rUv3ePUv3eP0XL-index.html       0
5  https://www.kkbox.com/tw/tc/song/lFz00IJHaXrTQRJxTQRJx0XL-index.html       0
7  https://www.kkbox.com/tw/tc/song/ynD0062.8DrAtt8PAtt8P0XL-index.html       0
8  https://www.kkbox.com/tw/tc/song/ILP00xN8NXr3QHDL3QHDL0XL-index.html       0
9  https://www.kkbox.com/tw/tc/song/XQe00DOHa9rLNSB.LNSB.0XL-index.html       0
10 https://www.kkbox.com/tw/tc/song/7L400Gp-t.rPyye9Pyye90XL-index.html       0
11 https://www.kkbox.com/tw/tc/song/d6L00KOUN.rUv3ePUv3eP0XL-index.html       0
12 https://www.kkbox.com/tw/tc/song/d6L00KOUN.rUv3ePUv3eP0XL-index.html       0
library(dplyr)
count(r[a2, ])

n
1 6

count(r[!a2,])

n
1 8

計算排名中 獨唱曲有8首 合唱曲有6首

內容預告:

13 畫長條圖統計

14 [Python] for迴圈 和 matplotlib.pyplot 畫線圖

14 [R]for迴圈 和 ggplot 畫線圖

15 for 迴圈 和 html網頁資料解析 迴圈 和 html網頁資料解析


上一篇
12 [python] 布林值和表格條件選取 [16th 鐵人 Day 23]
下一篇
13 [Python] 畫長條圖統計 [16th 鐵人 Day 25]
系列文
Python和R入門語法比較30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言