2020年8月7日 星期五

好站 : IOT 物聯網之 ESP8266 的世界

今天在臉書的 ESP8266 社群看到有人分享實作文章, 我覺得非常有參考價值, 轉貼連結如下 :

IOT 物聯網之 ESP8266 的世界

作者使用 Arduino IDE 進行 ESP8266 開發, 因此使用 C 語言語法. 這個方式對熟悉 Arduino 開發者很容易入手, 但我淺嚐即止, 一是時間有限, 二是我轉向使用 MicroPython 開發, 因為我覺得 C 語言在處理字串上比較麻煩.

上台北參加小姨丈告別式

昨天請假一天上台北參加故小姨丈的告別式, 地點在辛亥隧道口的二殯, 行前上網查詢交通方式, 發現早已經有人問過同樣問題, 我覺得這條路徑還蠻簡單的 :

高鐵台北車站 - 捷運板南線忠孝復興站 2 號出口 - 懷恩專車直達二殯

搭 08:55 高鐵到台北才 10:29, 板南線忠孝復興站直通 SOGO 地下美食街, 先帶爸跟小舅去山頭火吃拉麵, 然後往上逛到捷安特 SOGO 門市看看電動自行車, 再下到一樓於復興南路出口等免費的懷恩公車到二殯. 現在禮儀較簡化了, 頌完經走完家祭公祭儀式我們就去搭高鐵了.

2020年8月4日 星期二

好站 : 佑來認真教的 Arduino 教學 (超簡單超詳細)

最近打算製作一個風速計, 需要用到紅外線感測, 今天在找尋紅外線資料時偶然逛到 "佑來認真教" 這個 Yotube 頻道, 作者製作了完整的一整套 Arduino 教學影片, 我看完後只能說, 這位老師太棒了! 我也曾經想要找時間來錄製這樣的影片, 但現在不用了, 我不會教得比這位老師好, 大推!!!

【Arduino教學】選購板子
【Arduino教學】程式安裝
【Arduino教學】CH340驅動
# 【Arduino教學】實作01-基礎Blink
【Arduino教學】實作02-進階Blink
【Arduino教學】實作03-按鈕教學
【Arduino教學】實作04-序列埠輸出
【Arduino教學】實作05-按鈕Debounce
【Arduino教學】實作06-類比訊號輸入
【Arduino教學】實作07-伺服馬達SG-90
【Arduino教學】實作08-74HC595(上)
【Arduino教學】實作09-74HC595(下)
【Arduino教學】實作10-步進馬達教學
【Arduino教學】實作11- 8×8 點矩陣LED
【Arduino教學】實作12- WiFi無線入門
【Arduino教學】實作13- WiFi控制LED
【Arduino教學】實作14- 紅外線遙控LED(使用arduino nano)
【Arduino教學】實作15- arduino最小化(燒錄至attiny85)
【Arduino教學】實作16-最簡單的無線控制

會的人不一定會教, 教的人一定要會, 這位老師實在是一位優秀講師.

我離開 Arduino 應用已經很久了, 雖然現在大部分使用 ESP32/ESP8266 on MicroPython, 但有時候 Arduino 還是很有用 (例如需要較多類比輸出入腳時).

購買 mp3 隨身聽

最近運動時想聽日文教材的 mp3, 但因為很久以前買的 mp3 隨身聽都壞掉了, 手邊只有藍芽播放器, 需搭配手機才能使用, 每次都要連線點 App 很麻煩, 不如單純的 mp3 簡單, 一開機就能聽了. 在露天找到下面這個簡單款的 :

全新 MP3 隨身聽 micro SD(TF) 插卡式 隨身聽 附耳機 傳輸線 可夾式 帶屏鐵殼 $120

含運 60 共 180 元.




這樣出門運動只要帶一個小的備用手機跟這個播放器即可.

好站 : R 語言線上文件 Quick-R

今天在找尋 R batch processing 資料時找到線上 R 語言文件網站 Quick-R :

https://www.statmethods.net/r-tutorial/index.html

裡面有豐富的 R 語言教學文件, 是 "R in Action" 這本書的作者美國維思大學資料科學家與統計學教授 Robert I. Kabacoff 建立的 R 語言學習網站, 此書已出第二版 :

R in Action, Second Edition (2015)


Source : 博客來


此教學網站將 R 語言做了簡約的整理, 在忘記語法或函數時可以查詢.

2020年8月3日 星期一

中國布依族歌手黃霄雲

上學期每天載菁菁上學的路上聽了不少中國年輕一代歌手的作品, 其中最引起我注意的是黃霄雲, 起先是 "還可以愛嗎" 這首歌, 她不僅擅長飆高音, 中低音也掌握得不錯 :

https://www.youtube.com/watch?v=bfOOOFRtSW0




另外一首翻唱曲 "你的答案" 也很好聽, 先是婉約, 再是狂野, 表現了多重的歌唱技巧 :

# 黃霄雲翻唱 "你的答案"




這首歌的原唱是阿冗, 味道很不一樣, 粗獷中又有點滄桑 (彭于晏的肌肉真不賴) :

https://www.youtube.com/watch?v=j5nXneFqQpc




黃霄雲是貴州布依族人, 我也是從她的出身背景才知道原來中國還有這個少數民族, 其語言布依與係壯語北部方言一支, 壯泰越寮語都有親緣關係. 有一部中國電影 "布依姑娘" 充分描述這個民族的文化 :

https://www.youtube.com/watch?v=DsJ3bSwPQD0




2020 年第 31 周記事

好不容易維持的本土零確診最近卻疑似出現破口了, 可見防疫基本措施-戴口罩與勤洗手仍然不可忽視, 現在能維持國內生活秩序正常運轉, 全賴大家做好個人防疫才能維持, 但我昨天去漢神巨蛋卻發現擁擠的人潮中有戴口罩的大概只有 2/3 左右, 掉以輕心以為國內絕對安全, 這種想法實在令我擔憂.

二哥的山葉電動車七月下旬交車後我騎了一周, 騎乘舒適感真的比汽油車要好, 主要是直流馬達安靜, 不像油車引擎震動這麼大, 但是操作方式與油車差異頗多, 所以剛開始會很不適應, 例如它側腳架很重要, 沒有放下無法鎖車, 沒有打上來無法啟動, 據說是與重機類似的安全措施 (坐墊沒壓下去也是無法鎖車), 我騎了兩三天才上手. 增加了一台機車必須找一個停車位, 但目前大樓機車位都滿租, 所以我的車只好暫時放到一樓騎樓下了.

最近看完兩部韓劇 "了解得不多也無妨, 是一家人" 與 "李小姐知情", 這兩部片的演員似乎都不是大咖, 而且幾乎都沒在我之前看過的韓劇中出現過, 但主題卻很特別. 前者是家庭親情劇, 描述當卡車司機多年的金尚錫因為誤會老婆而性情大變, 妻子真淑因而要求分居, 接著引發家人間長久的誤會大爆發, 但在衝突中因為父親的暫時失憶, 逐漸理解彼此內心想法而逐漸理解釋放心中的怨嘆. 後者則是描寫資深刑警仁浩哲因為偵查大樓離奇墜樓案與房屋仲介李宮福之間的角力, 描寫公寓重建引發的建商與住戶利益糾葛, 以及親情與人性等元素. 這兩部劇都沒有俊男美女 (只有秋瓷炫還算), 但劇情深度還蠻可看的. 看完這兩部後, 目前在追的是池昌旭與金裕貞主演的 "便利店新星" 與宋允兒主演的 "優雅的朋友們".

看韓劇有個好處是, 可以考驗一下記憶力, 每看一部就會發現其中有些演員演過之前看過的哪一部. 另外, 我喜歡看探討人性本質的劇情片, 因為我們只有一個生命, 透過戲劇可以一窺其它可能的人生樣態, 有些人覺得自己的人生就已經負荷不了, 還去了解其它的人生似乎有點沉重, 但我不覺得是這樣.

2020年8月1日 星期六

父親節聚餐

為了避免訂位困擾, 每年父親節聚餐我們都提前一個禮拜, 姊姊昨天晚上回到家, 二哥則排假昨今日休, 他昨天就騎他的山葉機車從鄉下回高雄了. 地點還是海港, 假日非常多人, 餐廳前候餐的人龍轉了兩個彎都看不到盡頭.

2020年7月30日 星期四

好站 : DIY 達人 KendiYap 的無人機自製教學

今天在 Youtube 看到 KendinYap 的頻道, 展示如何自製 RC 遙控四旋翼機, 固定翼飛機, 以及遙控飛船, 製作技法實在令我拜服, 值得觀摩學習與參考.

首先是示範如何製作四旋翼機 :

https://www.youtube.com/watch?v=yFBvC_zRiek




其次是製作固定翼飛機 :

https://www.youtube.com/watch?v=PdrjVSdA7_w




下面是製作遙控飛船的影片 :

https://www.youtube.com/watch?v=dSQbjb8mftM




最後是自製 RC 遙控器, 這讓我重新評價 NRF24L01 模組, 原來改成 SMA天線後傳輸距離可以大大地加長 : 


在這些影片中作者自製的小鋸床最吸引我興趣, 因為我以前有買過一顆要用來做電鋸的直流馬達, 作者在影片中都是使用這個小鋸床來切割電路板, 飛機木等材料, 有空我也來製作一台, 方便以後 DIY 專案使用. 

R 語言學習筆記 (五) : 資料框

在中斷兩年半之後, 我最近又恢復了 R 語言的學習, 原因是向母校借了一本陳旭昇老師寫的 "機率與統計推論" 這本書 (用 R 語言寫的), 覺得在讀這本書之前必須先把 R 語言的基礎建立起來才行, 所以暫停其它學研計畫, 集中心力在 R 的測試學習上. 上一次是停在因子這個科目上 (2018-01), 這次要從 R 語言最重要的資料型態 data.frame (資料框) 下手.

此前的 R 語言筆記參考 :

R 語言安裝
在樹莓派上安裝 R 語言
R 語言學習筆記 (一) : 基本語法與向量
R 語言學習筆記 (二) : 矩陣
R 語言學習筆記 (三) : 陣列
R 語言學習筆記 (四) : 因子

資料框 (data.frame) 是 R 語言用來處理表格資料 (tabular data) 的資料型別, 也是其資料物件中最常用的一種, 它相當於 EXCEL 中的試算表 (sheet), 或者是 Pandas 的 DataFrmae 物件. 資料框與矩陣一樣是二維的資料結構, 具有直行 (或稱為欄) 與橫列兩個維度, 直行代表統計學中的變數 (variables), 橫列則代表觀測值 (observations), 在資料庫中直行代表欄位 (fields), 橫列稱為紀錄 (records).

資料框物件名稱 data.frame 中的句點乍看有物件導向意味, 但這其實是因為 R 早期版本不允許底線作為變數名稱 (因為底線當時用作指派), 因此許多物件名稱採用句點作為分隔或串接字元. 目前的 R 版本雖然已允許底線作為識別字名稱, 但使用句點串接仍是比較好的方式 (一致的風格), 參考 :

R Variables and Constants

資料框的基本結構與矩陣一樣, 都是二維的資料結構, 每一行都是由長度相同的行向量組成, 它與矩陣或二維陣列不同之處主要有下列二個 :
  1. 資料框每一行可以是不同的資料型態; 而矩陣與陣列每個元素的型態必須相同. 
  2. 資料框的行與列都有名稱; 而矩陣與陣列只有索引而無名稱. 
簡言之, 資料框可以說是矩陣的性能擴充, 兩者都可以看成是由數個行向量 (欄) 組成, 只不過矩陣的每個行向量資料型態必須相同 (同質), 而資料框則可以不同 (異質), 亦即資料框可以由數個長度相同的數值向量, 文字向量, 或布林向量組成; 其次是資料框不論是行或列都有名稱 (name) 屬性, 矩陣的行列則無名稱, 只有索引位置.

操作資料框首先要建立 data.frame 物件 :


一. 建立 data.frame 物件的方法 :

1. 呼叫 data.frame() 函數 :

函數 data.frame() 的 API 如下 :

data.frame(..., row.names = NULL, check.rows = FALSE,
           check.names = TRUE, fix.empty.names = TRUE,
           stringsAsFactors = default.stringsAsFactors())

詳細說明可在 R Console 中以 ?data.frame 指令查得.

參數列最前面的 ... 表示可以傳入長度相同的向量, 因子, 數值矩陣, 串列等資料物件. 例如可以將長度相同的一組向量當作參數傳入函數 data.frame() 來建立資料框物件 :

df <- dataframe(V1, V2, V3, ...)

例如 :

> v1 <- c("Kelly", "Peter", "Amy")
> v2 <- c("Female", "Male", "Female")
> v3 <- c(18, 16, 14)
> df1 <- data.frame(v1, v2, v3)
> df1
     v1     v2 v3
1 Kelly Female 18
2 Peter   Male 16
3   Amy Female 14
> class(df1)
[1] "data.frame"        #物件類別是 data.frame
> typeof(df1)
[1] "list"                    #型態居然是 list

可見建立資料框時未指定行向量名稱, 預設會以行向量的程式變數名稱當作行向量的欄名 (即統計學中的觀測變數), 而列的名稱預設就是 1, 2, 3, .... 之連續數字. 因此, 資料框可視為一組相同長度行向量的組合, 組合不同資料結構形成資料框時, 必須注意資料長度是否相同, 例如上例若加入元素多一個的 married 向量就會出現錯誤 :

> v1 <- c("Kelly", "Peter", "Amy")
> v2 <- c("Female", "Male", "Female")
> v3 <- c(18, 16, 14)
> v4 <- c(FALSE, FALSE, FALSE, FALSE)    #長度多 1 個> df1 <- data.frame(v1, v2, v3, v4)
Error in data.frame(v1, v2, v3, v4) : 
  arguments imply differing number of rows: 3, 4   

呼叫內建函數 View() 會開啟一個視窗以表格顯示資料框內容, 與 EXCEL 的試算表類似 :

> View(df1)   




可見這是一個維度是 3*3 (3 列 3 行) 的資料框, 呼叫 dim(), nrow(), 以及 ncol() 函數會分別傳回資料框的維度, 列數, 以及行數, 例如 :

> dim(df1)        #傳回維度
[1] 3 3                    #3 列 3 行
> nrow(df1)      #傳回列數
[1] 3
> ncol(df1)        #傳回行數
[1] 3

在建立資料框時也可以指定欄位名稱, 這樣就不會使用預設之行向量名稱了, 例如 :

> df2 <- data.frame(name=v1, gender=v2, age=v3)
> df2
   name gender age      #指定之變數 (行向量) 名稱
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14

可見指定欄位名稱後, 預設的欄名 (變數名稱) v1, v2, v3 就被 name, gender, age 取代了.

呼叫 str() 函數可觀察資料框結構, 每個 $ 符號後面就是欄位名稱, 然後跟著的是欄位元素之資料型別與內容 :

> str(df1)
'data.frame':   3 obs. of  3 variables:
 $ v1: Factor w/ 3 levels "Amy","Kelly",..: 2 3 1
 $ v2: Factor w/ 2 levels "Female","Male": 1 2 1
 $ v3: num  18 16 14
> str(df2)
'data.frame':   3 obs. of  3 variables:
 $ name  : Factor w/ 3 levels "Amy","Kelly",..: 2 3 1
 $ gender: Factor w/ 2 levels "Female","Male": 1 2 1
 $ age   : num  18 16 14

可見 df2 指定欄位名稱後與 df1 的預設欄名不同. 其次要注意的是, 若變數 (欄) 為文字向量, 則資料框預設會自動將其轉換為 Factor 因子變數, 例如上面 v1, v2 與 name, gender 變數後面顯示其為 Factor 向量. 如果要阻止自動轉換, 可在建立資料框時指定 stringAsFactor 參數為 FALSE 即可, 例如 :

> df1 <- data.frame(v1, v2, v3, stringAsFactor=FALSE)
> str(df1)
'data.frame':   3 obs. of  4 variables:
 $ v1            : chr  "Kelly" "Peter" "Amy"
 $ v2            : chr  "Female" "Male" "Female"
 $ v3            : num  18 16 14
 $ stringAsFactor: logi  FALSE FALSE FALSE

可見 v1, v2 這兩個變數之資料型態獲得保留為字元 (chr). 呼叫 View() 函數顯示資料框結構時也會標示這個屬性值為 FALSE, 例如 :




呼叫 names() 或 colnames() 函數會傳回資料框的欄名, 呼叫 rownames() 則傳回列名, 例如 :

> names(df1)
[1] "v1" "v2" "v3"
> names(df2)                      #傳回欄位名稱
[1] "name"   "gender" "age" 
> colnames(df1)                 #傳回欄位名稱
[1] "v1" "v2" "v3"
> colnames(df2)                 #傳回欄位名稱
[1] "name"   "gender" "age" 
> rownames(df1)               #傳回列名稱
[1] "1" "2" "3"
> rownames(df2)                #傳回列名稱
[1] "1" "2" "3"

除了在建立資料框時指定欄位名稱外, 也可以利用內建函數 colnames() 透過向量索引改變欄位名稱, 例如 :

> df3 <- df1    #複製資料框 df1 至 df3
> df3
     v1     v2 v3
1 Kelly Female 18
2 Peter   Male 16
3   Amy Female 14
> colnames(df3)[c(1,2,3)] <- c("name", "gender", "age")      #更改欄位 1, 2, 3 的名稱
> df3
   name gender age                         #欄位名稱已被更改
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14

同樣地, 也可以利用 colnames() 函數更改列名稱, 例如 :

> rownames(df3)[c(1,2,3)] <- c("R1", "R2", "R3")       #更改列索引 1, 2, 3 的名稱
> df3
    name gender age
R1 Kelly Female  18
R2 Peter   Male  16
R3   Amy Female  14

以矩陣建立資料框時, 需注意每個矩陣之列數必須相同, 且須等於其他向量變數的長度, 例如下面的資料框 df4 由一個數值向量 v, 兩個矩陣 m1, m2, 以及一個布林向量 b 組成, 那麼它們的列長度必須一樣才行 :

> v <- c(9:10)                                     #向量 (2 列)
> m1 <- matrix(1:6, nrow=2)             #矩陣 (2 列)
> m2 <- matrix(7:12, nrow=2)           #矩陣 (2 列)
> b <- c(TRUE, FALSE)                    #向量 (2 列)
> df4 <- data.frame(v, m1, m2, b)
> df4
  v X1 X2 X3 X1.1 X2.1 X3.1    b
1  9  1  3  5    7    9   11  TRUE
2 10  2  4  6    8   10   12 FALSE

矩陣匯入到資料框時會將矩陣的各行 (欄) 轉成資料框的變數, 預設會將矩陣的每一行以 "X" 開頭依序命名, 例如 X1, X2, X3, ... 第二個矩陣為 X1.1, X2.1, X3.1, ... 等等, 呼叫 str() 可觀察其資料結構 :

> class(df4)
[1] "data.frame"
> str(df4)
'data.frame':   2 obs. of  8 variables:
 $ v  : int  9 10
 $ X1  : int  1 2
 $ X2  : int  3 4
 $ X3  : int  5 6
 $ X1.1: int  7 8
 $ X2.1: int  9 10
 $ X3.1: int  11 12
 $ b  : logi  TRUE FALSE
> colnames(df4)             #傳回資料框欄名向量
[1] "v"    "X1"   "X2"   "X3"   "X1.1" "X2.1" "X3.1" "b"  

可見第一個矩陣 m1 的三行依序被命名為 X1, X2, X3; 而矩陣 m2 的三行則依序被命名為 X1.1, X2.1, 與 X3.1 等等.


2. 呼叫 as.dataframe() 建立資料框物件 :

資料框的資料來源可以是儲存於串列中的向量, 這時可呼叫 as.data.frame() 函數將串列轉成資料框, 例如 :

> v1 <- c("Kelly", "Peter", "Amy")
> v2 <- c("Female", "Male", "Female")
> v3 <- c(18, 16, 14)
> lst <- list(name=v1, gender=v2, age=v3)
> df5 <- as.data.frame(lst)      #將串列轉成資料框
> class(df5)
[1] "data.frame"
> df5
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14

可見串列中的每一項相當於一個行向量, 而 as.data.frame() 會將串列轉成資料框, 串列中的 key 成為欄名 (即變數).


3. 呼叫 do.call() 建立資料框物件 :

如果資料來源不是以行向量呈現, 而是儲存在串列中觀測值 (列資料), 每一筆的觀測值以單列資料框儲存於列表中, 則可利用 do.call() 函數呼叫 rbind() 來將這些列資料組合成資料框, 例如 :

> ob1 <- data.frame(c("Kelly"), c("Female"), c(18))
> ob2 <- data.frame(name=c("Peter"), gender=c("Male"), age=c(16))
> ob3 <- data.frame(name=c("Amy"), gender=c("Female"), age=c(14))
> df6 <- do.call(rbind, list(ob1, ob2, ob3))
> class(df6)
[1] "data.frame"
> df6
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14


二. 存取資料框元素 :

存取資料框的內容有兩種方式 :
  • 使用中括號 [列索引, 行索引] 存取整列, 整行, 或某行某列元素
  • 使用 $行名 存取整欄 (行)
  • 使用雙重中括號 [[行索引]]
注意, 中括號內第一個索引為列索引, 第二個是行索引, 行索引空白表示存取整列; 列索引空白表示存取整行.

1. 使用中括號 [列, 行] 存取 : 

此種方式可以存取整行, 整列, 或指定儲存格元素, 例如 :

> df2
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14
> df2[1,]                                     #取得第 1 列
   name gender age
1 Kelly Female  18
> df2[2,]                                     #取得第 2 列
   name gender age
2 Peter   Male  16
> df2[3,]                                     #取得第 1 列
  name gender age
3  Amy Female  14
> df2[, 1]                                    #取得第 1 行
[1] "Kelly" "Peter" "Amy"
> df2[, 2]                                    #取得第 2 行
[1] "Female" "Male"   "Female"
> df2[, 3]                                    #取得第 3 行
[1] 18 16 14
> df2[1, 1]                                  #取得第 1 列第 1 行
[1] "Kelly"
> df2[2, 2]                                  #取得第 2 列第 2 行
[1] "Male"
> df2[3, 3]                                  #取得第 3 列第 3 行
[1] 14


2. 使用 $行名 存取 : 

此種方式可存取整行之變數資料 :

> df2
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14
> df1$v1                                    #取得名稱為 v1 之變數 (整行)
[1] "Kelly" "Peter" "Amy"           
> df1$v2                                    #取得名稱為 v2 之變數 (整行)
[1] "Female" "Male"   "Female"
> df1$v3                                    #取得名稱為 v3 之變數 (整行)
[1] 18 16 14


3. 使用雙重中括號 [[行索引]] : 

此種方式也是可存取整行之變數資料, 但使用是行索引來定位 :

> df2
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14
> df1[[1]]                                      #取得第 1 行整行變數
[1] "Kelly" "Peter" "Amy"   
> df1[[2]]                                      #取得第 2 行整行變數
[1] "Female" "Male"   "Female"
> df1[[3]]                                      #取得第 3 行整行變數
[1] 18 16 14

下面是利用賦值運算符改變資料框內容的範例 :

> df2
   name gender age
1 Kelly Female  18
2 Peter   Male  16
3   Amy Female  14
> df2[1, 3] <- 19
> df2
   name gender age
1 Kelly Female  19
2 Peter   Male  16
3   Amy Female  14
> df2[, 3] <- c(20, 18, 16)
> df2
   name gender age
1 Kelly Female  20
2 Peter   Male  18
3   Amy Female  16
> df2[3, ] <- c("Tony", "Male", 55)
> df2
   name gender age
1 Kelly Female  20
2 Peter   Male  18
3  Tony   Male  55
> df2$age <- c(21, 19, 56)
> df2
   name gender age
1 Kelly Female  21
2 Peter   Male  19
3  Tony   Male  56


三. 資料框常用函數 : 

上面所使用之資料框函數如下表 :


 data.frame 常用函數 說明
 data.frame(v1, v2, ...) 將行向量 v1, v2, ... 組合資料框物件
 names(df) 傳回資料框 df 的行名 (欄, 變數名)
 rownames(df) 傳回資料框 df 的列名 
 str(x) 顯示物件結構與內容
 length(x) 顯示陣列元素個數
 dim(x) 顯示物件 (矩陣, 陣列, 資料框) 維度 : 列, 欄
 nrow(df) 傳回資料框 df 之列數
 ncol(df) 傳回資料框 df 之行 (欄) 數



參考 :

R 語言基礎

2020年7月28日 星期二

2020 年第 30 周記事

最近在努力學 R 語言, 假日則做木工 DIY, 所以也沒時間整理筆記. 週日下午終於完成水輪機槳的製作, 多虧前陣子買了鋰電池電鑽, 使木作得心應手, 真所謂工欲善其事必先利其器啊! 完成水輪機後接著想將阿正哥堆在我家後院的水桶拿兩個來接屋後樓頂下來的雨水排水管, 作為菜園灌溉預備水. 總之, 希望能在年底前把過去五年想做又一直拖的 DIY 計畫一一完成.

最近從左營阿姨那得知小姨丈狀況不佳, 週日晚上與表弟聯繫, 謂已做好最壞打算, 所以今天我請了一天假專程北上去探望, 雖然不是來往熱絡, 但過去兩度北上工作都曾短暫寄居在忠孝街, 小姨丈都蠻歡迎我.

離開北醫後到公館巷子裡的小餐館與小阿姨與為為會面, 四人暢談了一下午. 之後又坐捷運回世貿站, 想說上台北大多公務來去匆匆, 從沒去過 101, 反正回高雄太早, 等姊姊下班又太晚, 不如上去 101 觀景台看看也好. 沒想到正要探詢票價, 就聽前面一位太太說三點半前 150, 現在 600, 反差太大連菁菁也在 Line 上回覆太貴, 所以就打道回高雄了.




週日對面張屋夥房又搭起棚子, 原來鄰居和彩叔做仙去了, 前不久張屋銘有哥蓋自家房子蓋到一半突然昏倒送醫不治, 近兩個月走了兩個不算高壽的男丁, 還真令人遺憾.

2020年7月27日 星期一

小型水力發電機組安裝 (一) : 槳的木作

以前曾在岳父的農舍附近看到有一戶人家門口的水圳安裝了一個小型水車, 用來將水打上輸水管, 那時我就想要製作一個水車, 用來驅動小型發電機, 參考 :

http://yhhuang1966.blogspot.com/2014/12/blog-post_20.html

我在 2017 年底開始動手製作水輪機, 主要是取材自以前我託母親買的二手雙人腳踏車, 結婚後騎過幾次就放庫房了, 多年塵封生鏽早已無法修復 (也沒人要騎), 所以我就廢物利用, 拆了前輪來做水車, 參考 :

2017 年第 45 周記事 : 拆腳踏車輪製作水車




2017 年第 47 周記事




不過那時將輪子打磨上透明漆之後就忙別的事而束之高閣. 最近因為買了手動釘槍與鋰電池電鑽, 想起未完成的水車剛好可派上用場, 心裏也構思出水車的結構, 於是這兩周九開始恢復製作了, 參考  :

購買手動木工釘槍

槳採用特力屋賣的桐木抽牆板, 使用電鋸裁出 9 對固定板與槳, 用螺絲將槳鎖在固定板之後, 再用手動釘槍將其固定在輪圈鋼絲上, 並用電鑽在固定板上鑽洞以鐵絲加強固定, 結構圖如下 :




下面是周日 (7/26) 製作的成果 :







但我實際放在水圳中測試發現轉速不夠高, 帶動小型發電機可能電壓不會太高, 也可能改成水車使用. 下周再上油漆防鏽.

小型三相發電機我手上有兩個購自露天 :

[現貨] 低壓大電流無刷直流馬達 直流發電機 附整流二極體 $390 (已售完)

其性能轉貼如下 :




【額定電壓】48V
【空載電流】200mA
【空載轉速】3300轉/分鐘
【適合電壓】24-48V(1600-3300轉)

另外可參考 :

低速高壓 三相交流發電機 馬達 減速 電機 風力發電機 水力 太陽能發電 $600

2020年7月26日 星期日

好站 : 資料科學實驗室

今天在尋找 R 語言的數學函數時找到下面這個網站 :

資料科學實驗室

裡面可找到許多有價值的文章, 例如下面這篇是介紹學習 R 語言時必學的套件 :

必學的10個R套件

下面這篇則介紹學習 R 語言的 32 本好書 :

R語言從「初學」到「進階」到「跨界」的32本書籍推薦

另外還介紹了 60 本免費的線上書籍, 雖然有點舊了, 但還蠻值得參考的 :

60本免費的資料科學書籍 :

2020年7月24日 星期五

高科大還書 1 本

因為向母校借的 R 語言與電磁學已到館, 但目前借書狀態為滿檔, 所以就挑了這本最少在看的書先還掉再取書 :
  1. 運算 : Python理論及應用
最近在忙著熟練 R 語言, 所以 Python 就只好先晾一邊了.

2020年7月20日 星期一

山葉電動機車領牌與領車

今天中午去益明車行繳交領牌用的二哥身分證與郵局存摺影本, 晚上攜帶二哥手機與尾款去領車, 因為電動車可用藍芽與手機透過山葉 App 連線開啟, 不需用到感應要使還, 所以車行的小姐花了一些時間幫我輸入個資與收驗證信, 到近 8 點半才完成, 由水某其我的車回家, 我則騎電動車, 騎乘感覺還不錯.

中午交證件後直接到家附近的 7-11 領三倍券, 連同爸的共有五份, 花五千元獲得 15000 元, 淨得 10000 元, 所以今天尾款是 :

99800-3000 (訂金)-15000 (振興券)=81800

二哥說若再扣掉補助 17000 元 (山葉 9000 + CBS 補助 1000 + 工業局補助 7000 元) 以及他暑假打工的錢 35000, 我大約要出 3 萬元左右 :

81800-17000 (補助)-35000 (打工)=29800

另外本想請老闆在後視鏡架上裝一個手機架, 但店內只剩紅色, 等貨到再回來裝 (900 元)

2020 年第 29 周記事

二哥周一開始去善導書院上班, 剛開始主要是點貨, 還沒有去做鳳梨酥. 因為是排班制所以休假不固定, 所以 8/1 的父親節聚餐特別叫他排休, 而且可能會一直住鄉下直到開學前. 菁菁也從周二開始放暑假, 我也可以開啟暑期鬧鐘, 不用這麼早起床啦.

這幾天水某幫菁菁報名到她們醫院的郵局當志工, 協助發放三倍券事宜, 可獲得每小時 50 元車馬費, 菁菁回來說很好玩, 可以體驗一下上班的滋味.

近兩周因為一連串失誤忘記線上續借, 被迫還了一堆想看卻沒時間看的書, 讓我驚覺其實是我野心太大, 時間有限, 應該先挑容易完成的做, 不要好高騖遠, 人腦不是 Linux 系統, 多人多工是妄想, 專心做好一件事才是正途.

現在中國水患頻仍, 美國武肺人數飆升, 氣候炎熱異常, 這世界真的變了, 往日的好時光似乎很難再恢復, 出國旅遊難道會變成一種回憶而已嗎?

2020年7月14日 星期二

Python 數位信號處理 (DSP) 的三本好書

最近逛書店發現 Python 已經變成國民程式語言, 書櫃上整整兩列都是 Python 的各類書籍 (主要是入門級與機器學習類), 以前的程式語言王者 Java 新書寥寥可數, 這一切都是拜 AlphaGo 之賜, 才讓 Python 這個老語言鹹魚翻身爆紅, 應用面可說包山包海.

今天在網路上看到兩本用 Python 做數位信號處理的書 (以前大都是用商用版權軟體如 MATLAB), 第一本是歐萊禮出版的 :

Think DSP: Digital Signal Processing in Python (Oreilly, 2016)


Source : 天瓏



書中範例程式碼可在 GitHub 中下載 :

https://github.com/AllenDowney/ThinkDSP

第二本是 Springer 出版的 :

Python for Signal Processing: Featuring IPython Notebooks (Sprringer, 2014)


Source : 天瓏


此書使用直觀易懂的 Python 程式寫法撰寫範例以便於學生自學, 主要內容包含取樣定理, 離散傅立葉分析, 頻譜分析, 以及有限脈衝響應 (數位) 濾波器等. 我非常認同作者序言中提到的一句話 : 唯一的學習之道就是動手做實驗 ("the only way to learn is to experiment as you go"), 因為我學任何知識技術也都是透過動手做測試.

另外一本是去年我在明儀買的, 也是目前市面上唯一一本用 Python 做 DSP 的好書 (中原資工系張元翔教授寫的) :

# 數位信號處理 Python 程式實作 (全華, 2019)


Source : 誠品


此書雖然不算厚, 但 z 轉換, 卷積, FIR, IIR 等主題都有帶到, 是實用性非常高的一本書. 去年底這本已出第二版, 我想應該賣得不錯 :

數位訊號處理 : Python 程式實作, 2/e (附實作光碟)


Source : 天瓏


此書的範例程式檔下載連結 :

全華數位信號處理 Python 程式實作範例下載 (from Mega)

不過要讀這三本書的前提是必須先有 Python 基礎並熟習這三個 Python 第三方套件 :
  1. Numpy
  2. SciPy
  3. Matplotlib
以前我用 Praat 做實驗語音學分析, 對於 Praat 作者運用數位信號處理技術寫出這麼棒的軟體深感佩服. 當時蒐集了一堆語音辨識論文, 但對於如何實作卻感到很茫然, 後來找到一本楊鎮光寫的書, 裡面有真實的程式碼說明如何處理音訊框, 但這本書用的是 Visual Basic, 為此還花了點時間去學 VB 6. 參考 :

# Visual Basic 與語音辨識 (松崗, 楊鎮光, 2002)


Source : 天瓏


現在改用 Python 來做 DSP, 工具更多更好用了 (事實上我與微軟的 VB 系列語法格格不入).

2020年7月13日 星期一

2020 年第 28 周記事

七月以來都沒雨水, 整天熱到不行, 連我這個耐熱度很高的人都受不了, 在客廳房間走動電扇都必須接力吹, 不然就開始冒汗. 如果能來個擦邊球的小颱風消消暑氣就好了.

鄉下家頂樓的太陽能板上周六傍晚安裝完成後正式供電, 週六回到鄉下抄錄電表數字, 從 1885.6 KW 跑到 1896.1 KW, 一周輸出約 10.5 KW 電力, 平均每天 1.5 KW, 以日照 8 小時而言 (08:00~ 16:00), 平均每小時輸出約 188 W.

順利完成太陽能板後我的 DIY 動能停不下來, 已經評估在頂樓圍牆上安裝 600W 風力發電機的可能, 計畫採獨立式供電, 也就是需要準備一顆深循環電池, 也要拉一條電力線, 主要供應是內外平時感應照明與颱風停電時之緊急照明. 初步預估成本約在 8000 元左右 (風機 4000 + 電池 1800 + 逆變器 1600 + 支架), 參考 :

風力發電機市調

其次是 2017 年底開始進行的小型水力發電機實驗, 當時只是將廢棄腳踏車輪框打磨上漆而已就停頓下來, 最近看到屋邊水圳水量豐沛, 實在手癢到不行, 上週去特力屋時買了好幾塊桐木抽牆板回來, 週日早上動手裁切製作水輪機的槳, 總共需要 9 個 :





在用釘槍固定槳時太用力有一組斷裂, 本周要再去一趟特力屋了 (尺寸 606*85*13.5 mm). 小舅週六晚上打電話問我放在書房中的小鋸床買了多少錢, 我說大約 1600 左右, 但只能鋸小部件, 我還有一顆小直流馬達, 也想要為它釘一個鋸床來, 週日去小漢五金時特地去裡面觀察了其鋸床的構造 :




鋸床主要是需要一個可平移的對齊板, 此鋸床使用鏈條控制左右移動, 將手把往下押就可固定.

另外在評估風機支架方面, 我找到可用的四孔底座, 可套在一又四分之一吋的亞管, 但略鬆一些需要借電焊槍固定才行 :





一又四分之一吋亞管長六米, 不零售, 一支要價 450 元, 不便宜啊. 原先找到一款兩孔底座, 剛好可鎖進現成的兩端有牙鋼管, 可惜這些鋼管太短, 如果有接頭可串接那就好了, 但還有一個顧慮是兩孔底座可能較不穩固 :




二哥今天開始去暑期打工, 週六與周日下午特地各自騎一台機車去認路, 計算路程單趟 10 公里, 大約要騎 20 分鐘. 周末帶了一堆 R 語言書回去, 卻因為 DIY 上身都沒讀多少.

2020年7月11日 星期六

好站 : R語言網路免費基礎資料與個人推薦書單

我最近轉向專心學習 R 語言, 它在統計學, 資料科學, 以及機器學習方面與 Python 可說是倚天劍與屠龍刀, 雙璧合一威力無窮. 今天找 R 資料時偶然逛到一個網站, 裡面有豐富的 R 語言學習參考資料 :

R語言網路免費基礎資料與個人推薦書單

其中郭耀仁寫的 "輕鬆學習 R 語言" 這本書我剛好書架上就有 (從母校圖書館借來的, 第二版) :


Source : 博客來


這本書預設是給無基礎的入門者寫的, 就算是文學院的學生也可以輕鬆閱讀, 誠如作者序言中所言, 他期待讀者能一邊享用美味的午餐, 一邊翻閱此書. 我讀了前兩章後, 覺得此書確如作者所言, 就像讀小說一樣, 是針對門外漢寫的. 對進階 R 語言學習者而言, 也是不錯的複習.

我之前也買過郭耀仁的另一本書 "進擊的資料科學", 這本書就是為 R 語言進階學習者寫的, 而且是 Python 與 R 雙劍合一, 所有主題均附上 Python 與 R 之範例, 是我最愛的一本書之一, 之前在學習 Python 資料科學時閱讀此書, 總是被其中的 R 範例干擾 (因為 R 還沒學完), 決定擱下, 等 R 語言摸透後再來 :


Source : 博客來


郭耀仁與蔡立耑一樣都是熟習 Python 與 R 的專家, 不過蔡立耑的金融科技實戰系列寫成了兩本厚厚巨著 : "Python 與量化投資" 與 "R 語言與量化投資", 也是我帶在身邊的好書 :


Source : 博客來

Source : 博客來


實作很好玩, 但讀書也很重要, 通常實作久了就會發現自己底蘊不足, 這時就要看平時有沒有在讀書了. 我是不甘寂寞的射手座, 永遠穿梭於書房, 圖書館, 以及木作間, 直到世界末日都是如此.

2020年7月10日 星期五

購買鋰電池電鑽起子

最近因為積極進行計畫已久的自作專案 (水輪機, 太陽能發電, 物聯網監控站等) 需要蠻多木作, 例如木箱鑽孔鎖螺絲等需要一支方便好用的鋰電池電鑽, 上週特地去特力屋看, 發現網路評價 No.1 的品牌不論是 Bosh 或 Black Decker 都很貴, 價格都在 4000 元以上, 實在不太親民啊! 我只是業餘木匠, 只要派得上用場就好啦, 不需要太專業的工具.

這幾天在網路商場找尋價格在 2000 元以下的電鑽, 發現下面 momo 這款 FJ 的才 1692 元, 附 33 件工具組, 最大扭力 48 牛頓 (長江科技代理) :

【FJ】專業25V衝擊加強版電鑽工具組(附贈33件豪華組) $1692

東森購物也有賣同樣這支, 價格同樣為 1692 :

FJ 專業25V衝擊加強版電鑽工具組(附贈33件豪華組) $1692

說明影片如下 : 





生活市集打 82 折 1544 元 :

真25V電鑽33件豪華組 $1544

原本有在考慮另一款功夫 18V雙鋰衝擊充電起子機, 扭力較大有 145 牛頓 :

18V雙鋰衝擊充電起子機 $1862

但此款配件較少, 所以最後還是決定買真 25V 這款, 剛好晚上生活市集打出 74 折優惠, 折扣後總價 1464 超取付免運 :




此款電鑽規格如下 :




下面紀錄一下搜尋到的有用資料 :

居家DIY新手入門!如何挑選適合的 電鑽?

關於電鑽與電動起子差別參考 :

《職人工具開箱》電鑽電動起子知識大補帖




原來 Bosh 是貴在品質與電池安全性啊! 但我們居家木作應該不需要這麼好的吧!

PS :

其實我原本在露天找到位於左營大路的賣家蓁智居家生活館, 他賣的富格 25V 附雙電池也才 1710 元, 此款最大扭力 45 牛頓, 電池續航力約 160 分鐘, 充電 1~2 小時左右, 鋰電池保固三個月, 本體保固半年, 後續保修兩年 :

衝擊鑽 富格 25V雙電池 衝擊起子機 附塑盒鑽頭套筒組 充電電鑽/電動起子/電動工具 保固半年 $1710 (雙電, 防水, 衝擊款)

富格的電池一顆 400 元 :

鋰電池 25V 富格專用鋰電池 (戈麥斯/蝦牌通用) /鋰電鑽用鋰電/鋰充電電池/電鑽電池/電動起子電池 $400

相關影片 :

https://www.youtube.com/watch?v=dcQ7zyQWFwA




https://www.youtube.com/watch?v=gFhS1WDTRfc




還有其他非衝擊式的電鑽以及開孔器 :

鋰電電鑽 戈麥斯 25V雙電池 黑色鐵蓋版 附塑盒鑽頭套筒組 雙速可正反轉/充電電鑽/電動起子/電動工具 保固半年 $1590 (雙電)
鋰電電鑽 戈麥斯 25V雙電池 藍色鐵蓋版 附塑盒鑽頭套筒組 雙速可正反轉/充電電鑽/電動起子/電動工具 保固半年 $1690 (雙電)
# 鋰電電鑽 冠仕 25V 1.5AH 簡配 /家用手電鑽 / 充電式電動螺絲刀 / 電起子手鑽 / 純銅電機 保固半年 $1030 (單電) $1430 (雙電)
木工開孔器 藍色13件組 / 木工鑽頭 / 筒燈鑽頭 / 套裝石膏板PVC木板擴孔器 $380

但後來覺得要跑到左營大路有點懶, 所以就算了, 以後若要買開孔器的話再去找. 『蓁智居家生活館』自取地點在高雄市左營大路419巷29號. 時間是早上8點到中午12點,下午1點到6點. 禮拜六早上8點到中午12點.

鋰電池若沒使用需三個月充飽一次, 否則容易壞掉. 鋰電池其實都是 18650 串聯起來的, 更換鋰電池的方法參考 :

https://www.youtube.com/watch?v=Fsn_hUPDtTw




電鑽使用教學 :

入門篇-如何操作我的震動電鑽




2020-07-15 補充 :

今天去 7-11 領貨回來馬上試用, 給上週完成的物聯網控制箱鑽固定孔與通風孔, 主機性能本身還不錯, 但鑽完欲充電, 剛插電時充電器上的燈有亮, 但過一會兒看時卻不亮, 以三用電表量輸出電壓 0v, 趕緊上網跟客服申訴 :

收到商品有瑕疵怎麼辦?

部分贖回南山變額壽險

最近收到南山信函通知, 我的投資型保單已達預定收益, 可以考慮贖回, 登入南山網站一看, 富達美國基金報酬率為 23%, 由於疫情後黃金持續上漲, 套牢已久的貝萊德黃金基金已縮小虧損至 -6%, 贖回前報酬率如下 :





雖然黃金可能還會再漲, 但我決定見好就收, 黃金以及瑞銀美元基金全部贖回, 僅留富達美國 :




富達基金保留台幣一萬元餘額即可, 預估贖回 11 萬多, 剛好付二哥的電動機車還有餘 :




接下來要調整投資標的分配 :




我發現它有自動再平衡設定, 但需要研究一下怎麼用.




我覺得投資型保單很麻煩, 又有匯率風險, 最好不要買, 還不如直接投資熟悉的台股就好 (當初是因為呂先生情面購買, 每月扣款 4950 元, 有回饋). 總之, 保險是保險, 投資是投資, 兩個不要混在一起. 不要寄望儲蓄險能有多少回報, 頂多比定存高兩倍而已; 投資型保單更不用說啦, 你不管它它也不會管你, 甚至腰斬再腰斬. 懶人不可能理好財, 如果懶到不行那就傻傻買 0050/0056 就好. 

好書 : Deep Learning With PyTorch 電子書免費下載

今天在臉書看到社團分享的一則消息, 在 PyTorch 官方網站可下載 Manning 出版的下面這本電子書 :

https://pytorch.org/assets/deep-learning/Deep-Learning-with-PyTorch.pdf


Source : Manning


PyTorch 是廣受工程界歡迎的深度學習框架, 中文書我已買了三本, 但都看了兩三章就分心他顧而停下, 希望很快能繼續 PyTorch 的學習. 與 TensorFlow 比起來, PyTorch 要簡潔好用多了, 是機器學習入門者最好用的工具.

市圖還書 32 本

今天收到市圖借書逾期通知單, 居然已超過 7 天才通知, 是否郵件系統有問題? 但這只能怪自己最近沒去查看借還書情形, 同樣的錯能犯上兩遍還能怪誰, 只能都先還了, 還得停權一周 :
  1. Python新手使用Django架站的16堂課
  2. 工程數學 :微分方程
  3. Python程式設計入門
  4. 微積分之屠龍寶刀
  5. 打造圖像腦 :學會擊敗90%職場競爭者的視覺思考工作術
  6. 紫微斗數開運全集
  7. 文科生也看得懂的資料科學
  8. 從法人手中賺到錢 :全台第一本類股籌碼分析全攻略
  9. 吃一口薑黃,打開身體自癒力 :天然的最佳抗生素,一天吃三次,韓國名醫已連吃八年,效果有如不必動的有氧
  10. 動畫圖解資料結構 .第2版
  11. 資料結構 :使用C語言
  12. 圖解AI人工智慧大未來 :關於人工智慧一定要懂得96件事
  13. 高效率資料分析 :使用Python
  14. R的极客理想 .高级开发篇
  15. 冠軍操盤人黃嘉斌獲利的口訣 :20多年來我堅持照這些口訣,簡單操作就賺錢!
  16. 操盤手的萬無一失投資術
  17. 從法人手中賺到錢 :全台第一本類股籌碼分析全攻略
  18. 文科生也看得懂的資料科學
  19. AI也能說文解字 : Python上的文字算法 /
  20. 基礎工程數學
  21. 跟日本人快快樂樂說的旅遊日語
  22. 日本人每天必說的65句
  23. 日語聽力便利商店
  24. 多空我都能賺 :必學7堂翻倍投資術
  25. 世界第一簡單機器學習 /
  26. Data Science from Scratch中文版 :用Python學資料科學
  27. 不好意思,我贏了 =Sorry,but I win! :掌握總經,點石成金投資法!
  28. Nginx :完全取代Apache,超輕. 快. 強的Web伺服器
  29. 工程數學
  30. 版本控制使用Git
  31. Make:一讀就懂micro:bit : 給程式新手的開發板入門指南 /
  32. 讀史的長進 : 歷史從不同情弱者, 不迷信宿命, 讀歷史是為了寫歷史, 歡迎來到大人的世界. /
黃標書籍只好用家庭卡借回來了. 

2020年7月9日 星期四

小資族 55 歲爽退計畫

昨天看到一篇新聞 :

大學什麼科系千萬別讀?過來人曝「4大地雷」:真心不騙

哈哈! 很幸運地, 姊姊讀的正是榜上第一名的設計系. 她也說設計是累又低薪的工作. 她上周學期一結束, 馬上就到系上老師擔任藝術總監, 一家專門為電影做後製與特效的公司實習 (位於內湖科學園區), 還是唯一一個名額. 雖然累, 但卻是最喜歡的工作. 我一直認為為興趣而工作是幸福的, 只要能接受小資的現實就好, 畢竟世上做起來有趣又能賺大錢的工作並不容易找.

其實不管是不是為興趣而工作, 小資並不是阻止我們邁向財務自由的障礙, 只要能規律且正確理財, 小資族一樣能在 55 歲抱著千萬資產炒老闆的魷魚, 方法就是中學數學教過的複利公式, 連愛因斯坦都認為其威力遠勝原子彈.

著名的七二法則就是將複利的效果簡略化 (會有一些誤差), 簡單說, 若將資金投資在每年複利 6% 的標的上, 則 12 年後資產會翻倍, 即 72/6=12; 如果複利是 12%, 則只要 6 年就翻倍, 即 72/12=6. 參考 :

一次搞懂72法則

而每年能穩定產生 5%~6% 獲利的標的不難找, 例如台灣高股息 (0056) 就是, 近年配息如下 :




網路上有許多計算複利的網站可用, 例如 MSN 財經網站可以設定投資目標, 反推出每個月要投資的金額 :

https://www.msn.com/zh-tw/money/tools/savingscalculator

以一個大學畢業生 25 歲投入職場, 工作 30 年後 55 歲時能擁有千萬資產退休試算, 只要每個月存下 10541 元投資在年複利 6% 的標的上即可 :




首先去證券公司開個股票戶頭, 每個月薪水下來後先轉 1 萬元左右到理財交割帳戶, 三個月累積 到 3 萬元就夠買一張 0056 了. 如果沒時間注意買進價格, 那就設定手機日曆提醒每三個月 (一季) 用手機 App 傻傻買進一張 0056 存股即可, 這樣第一年可存 4 張, 重點來了, 每年的配息不要領出來, 繼續投資到 0056 存股資金中, 這樣以後每年就不只存到 4 張了, 而是以複利方式擴張, 30 年後就非常可觀了, 如果有外快或年終獎金結餘也投入資金池, 那就會以年金複利 (即本金每年增加) 擴張, 那將更快達成投資目標.

如果怕忘記或嫌麻煩, 可以到部分券商提供的零股平台 (例如元富證券小資零股平台) 設定每月固定買進 1 萬元的零股, 如果能設定薪資戶為扣款帳戶, 並於薪資下來後扣款, 那就幾乎完全不須人為介入了.

參考 :

# GoodInfo! 台灣股市資訊網

2020-07-09 補充 :

晚上 8 點看財訊 Line 主辦的施昇輝與超級芭樂網路直播, 我聽完覺得兩位來賓都很有道理, 但我更認為施先生的作法最穩, 0056 隨時買都不算貴, 以前年配息 1.5 元看, 就算價格是 30 元, 1.5/30=0.05 也就是 5% 殖利率, 會貴嗎? 先買一張你就會開始關心它, 慢慢地就會知道它的脈動了. 忙的人只要隨時買定時買就好 (買 0056 就是不怕被套牢), 專心工作求取加薪機會才能擴大資金池.

很多人可能看不起 5% 報酬率, 認為選對股就能賺 30% 甚至翻倍, 但那要冒多少風險與時間啊! 5% 其實只是保本的起點, 了解 0056 脈動後逐步增加持股 (張數多才能看到明顯效益), 動態調節進行無風險套利, 施先生說 2019 年 0056 價格上下浮動 28% 他都有賺到, 而且是不花時間精力穩穩賺. 我自從看了施先生的書之後, 也覺得花大把時間追逐風險利得實屬不智, 這樣會犧牲太多東西, 尤其是我這種興趣廣泛住海邊的射手座.

時間是無法標價的, 我們人生中唯一能擁有的, 只有時間.

PS : 如果在我 25 歲時就有 0056/0050 這種 ETF的話就好了.

2020年7月8日 星期三

好書 : Memristive Devices for Brain-Inspired Computing

以前在 Pinterest 的智慧型無人機專題上偶然得知憶阻器 (memrister) 這玩意, 發明人為柏克萊大學華裔學者蔡少棠 (即知名作家虎媽蔡美兒之父), 與以前物理學家根據理論推論認為應該存在某種粒子一樣, 蔡少棠也是從理論出發, 認為被動元件除了 RLC 之外應該存在一種能夠記住電荷量的元件, 那就是憶阻器, 參考 :

智慧型無人飛行器與 Memristor (憶阻器)

當時覺得這種剛被發明的東西理想性過高, 實質效用還有很長一段路要走. 哪知幾年過去, 這領域發展神速, 儼然已是未來仿生運算的明日之星, 不論是 NOR 或 NAND Flash 記憶體, 將來可能被憶阻器取代. 這本書就是從材料, 元件, 與電路等方面介紹憶阻器的進展 :

Memristive Devices for Brain-Inspired Computing


Source : elsevier.com


其實作為新一代非揮發性記憶體還只是小用, 憶阻器的大用是其特性可用來模仿人類腦神經元功能, 具有構建生物電腦的巨大潛力, 目前 HP 與 SAMSUNG 在固態憶阻器研究方面具有領先地位, 參考 :

# WiKi : 憶阻器