2020年12月12日 星期六

Word樣式

以前在前公司對於公司在寫服務建議書  都以章節變成每一個檔
然後大家寫完後需要排版  很不可思議的是排版需要熬夜才能完成
是大家不熟我覺得是  於是我就說服務建議書一開始就以一個檔案不是很好嗎?
前公司的工程師開始就使用一個檔案  然後我又說Word有樣式嗎?
這位應用工程師就開始使用簡單的樣式撰寫彙整服務建議書

時光荏然我成為主管了  有話語權下面帶了兩個應用工程師
我叫它們依據章節項次依序設定樣式  我記得搞了一兩個禮拜
看過一次竟然超出我的預期  竟然將樣式設得很細
老實說當初我下這個命令時  我根本就不會
沒想到就將Word樣式給設定出來  未來就使用這個範本

這一用就十年在使用的過程發現  這個範本有一些地方設定的很不好
但想改又沒有勇氣因為我只會用  如何設定我根本不知道
發現一些問題就調一下整本報告書  版型也無可挑剔
既然沒問題也就當作沒問題  也沒花時間在這上面

到了寫論文章節項的格式不是採用章、節、項,而是採用章、1.1、1.1.1的方式
我開始設定樣式第一章時很順利  到了第二章的節與項就要重設一次
換言之若是你的報告書有七章  你必須設定七次的節與項
並且每章的節與項數量不一  若是很多的是你必須一直設定

這對在寫論文構思時是一個打斷思緒的點  讓我很不舒服
所以在想這一次是論文提案只有五章  若第二階段論文有八章
我是不是再回到之前的輪迴  心裡想我必須設定Word的樣式

想清楚就做起來就不過是一個Word嗎?  有多難!
欸.....還真難  搞了我將近一個星期  今天星期六搞了一個中午
今天才算是把所有的格式設定好  再試一下前面幾頁給他貼起來
還算是可以吧  因為將格式設定好了  原本論文處就多了一些空白

再看看吧!明天把所有的論文全部換到新的格式看看
在這些過程發現設定Word的樣式  前置作業很重要
若是寫到哪邊設到哪邊  哇!我覺得樣式會很亂
就以這次而言先將Word中的定義多層次清單一定要搞清楚
這一部分是最難的其中一個小欄位沒設定東西就不是你能預想
也經過這一次Word的格式的設定流程都界定清楚

  1. 設定多層次清單,將報告的章、節、項、款、目設定,此為框架
  2. 紹定每個層次中的內文,這一部分算簡單
  3. 設定圖表置中,起先以為要設定文繞圖,其實不用
  4. 設定圖表標號這一塊就要注意了,在Google是可以查到
  5. 設定目錄要注意的是要幾個階層一般而言兩階都夠
  6. 設定頁次此為目錄與內文的頁次是不同的
  7. 在目錄前面在加頁但目錄與新頁頁次又不同
  8. 最後就是測試貼一段正式文章看行句及其他是否合理
上述就為樣本設定八大流程,這時才依據該八大點開始撰寫

2020年12月10日 星期四

騎小折挑戰上班不遲到 第四天

 經過昨天因摺疊的愚蠢  又導致遲到
今天經過昨天的教訓在折疊的部分逐漸掌握訣竅
所今天上班8:25分到公司沒遲到

當然在操作的過程中還有些不熟捻的地方
在需要加強,在他乘捷運的線上也比較能掌握
每天早上當成一個輕微的重訓

現在我的左腳膝蓋外側就又一點痛
但我覺得不要痛就認為不好
說不定長時間沒有運動的習慣
所以膝蓋外側才會痛

2020年12月9日 星期三

騎小折上班第三天

 前天買了一台小折開始騎上班,遭遇許多災難之前還說是否可堅持
果然是一件不容易的事,這三天發生了許多事以致到公司都8:40分
第一天時因捷運路線的不清楚加上戴上小折,上下都不順,在移動時變得很不直覺
第二天時因折疊不熟悉在世運站折了好久,對捷運路線也只略知
第三天今天經過前面兩天漸漸瞭解路線的動向,知道甚麼地方可坐電梯
在摺疊也愈來愈順已經掌握,並且有信心可以8:30分到公司。

但今天在技擊館準備將小折攤開,突然對摺處的鉤環勾到鍊條,我在哪邊扯了半天
用蠻力硬扯並研究鉤環跟鍊條之間的關係,發現是完全密合硬扯是沒辦法
想說沒救了!要想公司來支援把我帶回公司,甚至想到中午回家開小白
下班再把小折再到單車店維修,再一切都想清楚並放棄時
選一個好地點叫公司的人來載我,並把後輪攤開比較好移動

神奇的事發生攤開時我看了一下鉤環鍊條都正常
立馬將小折完全攤開全部正常,原來我將小折攤開的順序不對
以致對折的鉤環鉤到鍊條,被自己的愚蠢給打敗

所以我將此做為挑戰小折上班並能準時8:30到公司
我覺得今天不是因為對摺疊不熟今天應該可以8:30分到公司
在挑戰.....................................

2020年12月6日 星期日

昨天論文線上會議 忘記參加

昨天16:30跟開開、喜平去阿珠喝酒
八點騎單車回家到家就睡著了
9:30分就沒開論文線上會議
剛有跟老師報告  其實論文提案過以及修正論文提案後
對於論文就沒再動作每天就做一點  說一動作一動  很消極

其實昨天就有在想,有很多東西可以陸續做了如
1.論文格式換APA7,這一換可能要試一下,有沒有快一點的辦法
2.資料分析統計信度、效度、KOM、球型檢定、SEM......等很多,前面練到信度及效度,效度已經稍微懂,但沒有再深入下去。
3.資料分析結果需要構思既定方案,開始撰寫雖說問卷的結果無法確定,但可預想結果如何

這三件事先執行吧!晚上回去可以先看看

2020年12月5日 星期六

最近花錢有點兇 想買小布折疊單車

前面有說買了滑鼠但昨天有買了方向盤的機油及換雨刷
就光昨天就花了2000元但想想這些都是該花銷的東西
並沒有奢侈的問題除了滑鼠以外,可說觀念的貪小便宜結果花更大

而最近年底到來了聚會聚餐也增加,相對花銷也會變得更大
而最近換了一家公司每天都開車上班,停車費、加油費、保養費都隨之增加
而小白也愈來愈老經不起如此的勞動,加上未來要跑長途小白不免折壽會較高

又動念想買一台小折之前在台中有買過一台小折
沒愛惜被人偷了,想說買KHS 1萬出頭,上網查了一些資料
其實在104年回高雄就想買KHS做通勤代步
查完之後發現很多人買了小折也就折過一次,從此就很懶得折
除非要外出遊玩才會將小折折一下放進車子裡
但這個次數一年最多折各五次,對於頻繁的折疊KHS並不適合
其實以前在中拿台小折也是如此,買了2年多也就折一次

在查完相關資料發現其實小折大多是要你出遊放進車子或做大眾運輸
並不會讓你頻繁的折疊就只有出遊時哪幾天你的折疊次數會比較頻繁
因此小折的廠商在設計折疊時出現兩個問題
1.折疊過程很麻煩,讓你折一次就不想折了
2.折疊完後小折並是很平整
而這兩點對於偶爾出遊是可以接受的,因為設計就是不是要讓你天天折疊的

但對於通勤上班的需求時這種設計就很不適用
如上捷運、鐵路、高鐵等高通勤率需要一天至少要折八次
第一折:上班前要騎到捷運站必須將小折攤開騎到捷運站
第二折:到了捷運站必須將小折折起進捷運站
第三折:出了捷運站必須將小折攤開騎到公司
第四折:到了公司必須將折疊進公司
下班回家必須將上述的過程重複一次,所以總計要八次
所以節能減碳是一句好聽的話,要讓通勤開銷降低是要付出代價的

但若能每天變成一種儀式,當要上下班都是一天的開始和結束
一天八次的折疊次數就能欣然接受
當然想像很美麗  現實很骨感  我會不會只有三鐘熱度
其實我自己也不知道,但以我目前的狀態應該可以
因為不在像以前需要日理萬機(笑)
因為不在像以前每天追著合約時間跑
因為不在像以前要說服不同類型的人
有甚麼可以證明就是現在,可以怡然寫部落格,就知道有多閒
而現在的公司我就一個化外之民  不是核心的人物
只要把高雄的專案搞定公司也不會找我麻煩

我是不是為我想買小折在說服自己
但這些也都是事實不趁著怡然工作對生活作一些調整也是一個浪費
是啊!拉回來...所以有些小折的廠商看到通勤的商機
設計輕巧的摺疊強調重量輕好折疊
但看完這些折疊發現真的很適合折疊但要買個東西
或是騎個比較遠一點點似乎又不適合

所以選來選去英國手工小布比較適合我的需求
他的折疊應該算是折疊車最平整,也是最好折的
有購物需求或上班的筆電都能有良好載物規劃
但有一項缺點就是12公斤的重量,但魚與熊掌不能兼得
再者搞得好大約要3萬5不便宜

想想自己的單車有公路車、登山車、加上這台小折算是全系列了
這也回到前篇5支滑鼠的故事,所以人買東西還是不能一頭熱
但單車這種東西只要不放在戶外淋雨基本上就是灰塵而以
不會有甚麼大問題,還是就買了!


弄巧成拙

昨天把公司輩的筆電整理,老實說這次配的筆電還不錯
唯一的缺點就是硬碟空間太小了,不過以現在剛進公司是夠用
隨著時間的推移專案的資料肯定是不夠用
不過這家公司並沒有對專案檔案管理的觀念
所以每個專案的檔案都散佈在員工的筆電
跟九福的早期一樣不是很像

筆電的作業系統配WIN10專業版,也有正版的Office365
SSD硬碟、8GB的RAM、I5Core CPU也不錯
所以拿到一星期陸續安裝所需的軟體,
看看也不多除了Office外、R、.Net、SQL、Vscode、R studio
也就不需要安裝其他東西,也不知為什麼之前電腦安裝很多東西

因為目前公司配的電腦沒有VISIO,
而VISIO對我來講再做規劃及分析是很重要的工具
試了半天才發現公司的Office365沒有VISIO的授權
當然去網路找了破解版,結果昨天一破變成Office2016
也沒有VISIO起先以為安裝檔會讓我選擇只安裝VISIO
因為以前有做過,誰知道Word、Execl、Point都變成2016版本
還沒Visio真怕明年序號又到期又不能用
再者試一試新版的Office可以做出更好的東西

所以真的弄巧成拙  得不償失  想說明天跟管理部聊一下是否有Office365
其他部分都設定好逐漸習慣這部筆電
補充一下這台筆電的喇叭及電池真的不錯
明天這台筆電就可上線做成主力筆電
硬碟小的問題就拿以前換下來的硬碟做成隨身碟
發現Win10還有備分機制可選擇資料夾及備份的時間
算起也不錯並且筆電包也很好看,筆電外型就很樸素

我的第五隻滑鼠 羅技M720

呈上一篇寫了我使用滑鼠的心得,但無奈還是買了第五支
當然首選羅技但羅技滑鼠的產品線多的數不清
要選哪一支就是學問,想想要滑鼠不要在兩台筆電都各有一隻滑鼠
重這個方向在羅技的產品線尋找,今天到日本橋看了半天

選定了三支
羅技M720、M585 、ANYWHERE 2S 等無線行動滑鼠,每支價錢都不一樣
M720:1290、ANYWHERE 2S:1690(有特價)、M585:999

本來要選M585但想到以前自己的使用經驗,又不禁得猶豫起來
又看到ANYWHERE 2S好像不錯,但跟M720又很像,而2S又比較貴
看了半天真的不知該怎麼選,上網查了一下資料發現2S不用電池直接USB插電
其他功能都跟M720一樣,我想想用USB充電我肯定哪條線絕對會不見
所以就以M720為選擇但M585也可多台電腦切換,功能也跟M720一樣
所以就很想選M585又比較便宜,而以前的使用經驗又浮上心頭
所以就選了M720....

今天中午把它安裝當然兩電腦切換沒問題
也試了兩台電腦用滑鼠拖曳傳輸檔案,當然兩台電腦都要裝羅技的軟體
再傳送的過程比較適合兩三個檔案傳送不適合大檔案傳送
這一切都沒問題但發現M720滑鼠很重,跟以前21年買的一樣

在使用的過程中移動滑鼠很不適應,甚至後悔是不是應該買M585會比較適合我
第二點覺得滑鼠很大我斯乎不能一手掌握,在案左右鍵都在後半段
滾輪也是無法用食指全部掌握,第三左側按鍵有三個通常最常用就是上一頁
但第二科按鍵後面還有一顆切換電腦的按鍵,真怕案到第三個按鍵

心中真的一萬匹草尼馬在奔騰  心靜下來到晚上在適應一下
發現以前的滑鼠都是較為便宜也很輕,所以在移動習慣將滑鼠微抬起做移動
也因為輕滑鼠也就做得比較小,所以手掌就很好掌握
在發現這些原因再用不同的思維使用,滑鼠移動的距離無須大幅動作
滑鼠就會移動到你的位置,這在長時間使用上會比較輕鬆
滾輪是我常使用的工具而滾輪很好滾,手指輕輕撥動就能啟動
食指無須完全包覆,以前的滑鼠比較小所以你的食指可能都超過滾輪

所以簡言之M720還要適應一陣子時間,他的工作效率才會出現
以前被便宜滑鼠的設計理念輕小、完全掌握、移動微抬起
而目前的滑鼠以低重心,你在無需微抬起 只要,臥姿改變一下就可

我使用滑鼠的心歷路程

換了新工作公司配了一台筆電  加上之前有兩台
之前350元LEXMA也蠻好用只不過滾文件有點不夠精確
可能3年多也有點問題但左右鍵的回饋很好
但用電量真的很兇我還特地買兩三排電池備用
有時使用時間長或是沒關電兩個月就要換一次電池
每次沒電時藍芽設定都有問題都要重新設定

其實習慣也就好了但有時還在怕他沒電
而我有兩台筆電時本來用LEXMA都要設定一次頻率
開了第二台設定好回到地台又要重新設定一次
LEXMA的滑鼠重新設定須按一個按鍵長按
但這個按鍵需尖銳的洞悉才可按到
所以重新設定頻率就很麻煩
才升起再買一隻滑鼠  問題來了要選甚麼滑鼠ㄋ

當然還是以前的老朋友羅技  老實說用過很多滑鼠
有買筆電送的有之前公司留下來的
只有以前在繪圖時需要好滑鼠才買羅技
記得當時花了1600元大洋  從民國89年用到去年才丟
當然不適每天使用到了94年就用筆電送的滑鼠
而滑鼠僅在移動而以並且都是文書處理作業

記得在台中有大量的文件  按滑鼠按到時只會痛
到了104年回到高雄買了羅技滑鼠500元鍵盤加滑鼠
當初回到加考慮空間問題才買比較小鍵盤及滑鼠
到了讀書時有大量的報告並且寫程式,鍵盤及滑鼠加起來
我的食指痛到有時要自己按摩自己的食指,乍看之下好像擼管後的現象

所以買了現在的機械式鍵盤,這時我在震洋時就很想買一把機械式鍵盤
記得當時這把機械式鍵盤花了約2500元,剛開始在用時感覺很重
不過現在用起來就習慣了,現在用任何鍵盤只要不適機械式就用的不順
再買了一隻LEXMA滑鼠才算完整,整個接觸起來就比較有感

今天因為兩台筆電的關係也懶得再設定,才起心再買一隻滑鼠的念頭
想想現在也有5支滑鼠了,兩支是筆電送、一支剛回高雄買的、
一支是LEXMA、今天又買了一支,總共5支,想想心裡怪怪的
得到一個心得若是你每天都要使用電腦做事、娛樂、工作都好
並且一天使用點腦的頻率長達六小時,真的良心建議不要貪便宜
到最後家裡一堆滑鼠放在家裡沒用變成廢物一般
對不起滑鼠也對不起自己的荷包,物不能正其用就是一種變項的浪費

而我有一種習慣當東西不能正其用,我就想丟掉

2020年12月3日 星期四

上班15天

今天上班第15天驀然回首地天上班時  真的每天生不如死
一早就起床  抽個菸被人挑起問  上班無法久坐一坐就想抽菸

想想都過來了  每天都可準時上班  不會像剛進來時的不適應
上班可以持續坐上2個小時  不會動不動就想抽菸
抽菸的次數也比較少  早上一次  中午兩次  比起以前好很多

至少目前上班的習慣已經漸漸改善  剛上班時很擔心自己的習慣
至少目前已經習慣被約束  跟公司的人也漸漸熟了
最近跟它們接觸  發現甚麼是員工  甚麼是老闆
想想自己從99年到現在   有10年的時間  以老闆的思維做事及處事
已經忘記員工的腳色及心態  這也所以漸漸跟黃總愈來愈不合的原因

因為他所面對都是員工  很少看到員工供以老闆的心態去看事及執行
我並不是驕傲可以形成我這樣  也是公司培養出來
也讓我在思考為甚麼跟黃總理念老是背道而馳
從現實面和實際面就不是如此  為什麼他就是轉不過來

這15天拋棄以前的身分及榮耀  來到一個沒人理解我過去的地方
從基層做起每個人都可以用資深的人員命令我
也從這個地方才能觀察到員工的心情及心態

2020年12月2日 星期三

上班第14天

前兩天都很忙  忙著寫服務建議書
連續寫了三天  終於寫出一個初版
但自己覺得還可以更好  來公司10天算這樣也不錯

也藉著整理服務建書對公司的了解  因很多資料大家都要給出來
所以這兩天都在寫服務建議書  所以這兩天歐沒寫部落格
跟公司的同事也漸漸熟了  也得知之前公司進行大裁員

所以未被裁到的人  看到新人都有種敵意
對於很多事及資訊都掩蓋  剛開始覺得是怕我爭功嗎
發現絕大部分都是為了自保
也發現來了愈多天心裏的看法抱怨  愈來愈少

2020年11月30日 星期一

上班第11天

上星期五是上班第10天,一早到公司主管就叫我去高雄交通局開會
下午回家換衣服後到公司又忙著準備12/10號的服務建議書

今天星期一準備寫部落格,一早又被阿能叫去崗山轉運站
又到交通局找兩位承辦解釋所有狀況
今天下午又忙服務建議書,台中公司的人又叫我準備一些資料

今天管理部的人LINE給我總經理核定我的薪水的簽呈
管理部還叫我我薪水保密是怕別人知道我領太少嗎?
不過試用期到明年的2/16日,雖然不怕但仍然有壓力

星期日的時候卜了一下卦,說無法忘記以前的光榮,雖然應進退尚無逾越之處
處事時仍然會採取以前的模式,的確一語驚醒夢中人
想想也不過上班也就地兩個禮拜,我在急甚麼!赫然發現自己喜歡爭功!出風頭!

所以今天就忘記自己以前的榮光,但在一些小地方還是顯露出來一些鋒芒
所以中午我也不客氣地請求資源,也有可能沒有下文,但在以前是沒有過的舉動
而今天寫4GLTE通訊無線模組,寫完後心裡覺得虛虛的,有種不踏實的感覺
以前在寫服務建議書沒有這種感覺,當然別人怎麼看我不知道
但自己寫完是可以說服自己,而進這家公司第一本服務建議書就有這種感覺
不過也沒關係後天在印出來在斟酌一下,明天還是照既定的節奏撰寫

2020年11月25日 星期三

上班第九天

對於工作中的時間約束  還在逐漸地適應中
工作時間的約束意指朝九晚五的時間約束  對於專案的時間試任務目標
對於自己來講是很適應且具有方向性多年來也是習慣
而工作時間是每一家公司最基礎評斷每個員工的態度

銓鼎這家公司連外勤已維修完就立即回來  當然休息各小摸魚是能接受
想想自己在民國99年就不受工作上下時間的約束已經有十年了
主管自己的時間是依專案任務進行管理
但受基本上下班的時間真的有點難受
不要住象!  若住象自己的心就很難過  就覺得不舒服

昨日跟主管去屏東退保  跟以前差沒多少
其實昨日主管來有鬧一點小脾氣  原因我住象了!
太在意自己的存在性,就是我象太重了!
但一個小時就調整過來  也攬了服務建書的章節  並承諾下星期一完成


2020年11月24日 星期二

上班第八天

昨天大家突然都不在勝我一個人  感覺特別輕鬆
但一個人自己還是太隨性了  中午時不關燈也不想休息
工程班回來時有團體的約束  自己還是閉眼休息

昨日自己沒有研究公司相關東西  連續好幾天都在研究
對於公司的專業都有一點麻痺  對吸收也不好
當然是不是自己為自己找的藉口  我也不知道
因此昨日研究MVC的教學範例  以渡上班的漫長的時間

昨日阿能說屏東的站牌總共有幾支位置在哪?
顯而易見有長官問他  我想是要退履保業主想刁難
阿嘉也備感壓力  所以阿能問我他要確定有幾支
我說我不知屏東  他有點不高興  最後我查了合約確定支數
因此這也給我了一些靈感  我必須確定高雄辦事處所呈接案子的站牌支數
當然高雄執行了好幾年  有好幾期的合約  可以慢一點知道
但像屏東、嘉義縣比較零散的合約可以先行統計並進行造冊

這樣會比較好,而今天把昨日的心得寫完再看看
今天要做些甚麼?

2020年11月23日 星期一

上班第七天

今天上班手機忘記充電  以致手機鬧鐘沒有響
幸虧老媽叫我起床  7:20分時間還來的及
到公司8:20分左右......

昨天上完班很累應該是星期一症侯群  星期日我也到凌晨3點多才睡
昨天也看到很多台中總公司的人  發覺人都不錯或許都是假像吧!

昨天對於專案的理解有逐步增長  但是否夠用不得而知
昨天看到有人教車機也順便聽了一下  看到實務的實機操作

後面還要在了解施工的部分  軟體要了解資料結構
才能有更深一層的了解

總而言之在這邊  我不知道是否適合我  也不知道公司認為我是否適合
而這邊公司的主管都不在高雄都在台中  在一個程度上算是輕鬆

當然在九福的日子尤其在台中的日子後  自己也是一個主管
不論在上下班的時間  說話的態度都較開放
甚至自己的抽菸嚼檳榔的不良的習慣  因為都是自己是主管
沒有人敢講甚麼話.....

退去主管的外衣才能真正的瞭解自己  上班不就是準時上下班
上班時間不能抽菸嚼檳榔嗎?  上班時間不能隨心所欲地出去

這都是一般上班族都要遵守的嗎? 但我已經隨心所欲近四年之久
若加上台中的時間可能有八年之久..........

退一萬步來講若我還在九福高雄  每天可以很自由
上面所有的事依然持續進行  我每天也是樂逍遙
但之前自己就認為這是對的嗎?  每天晃過來晃過去  生活沒有重心
這種生活是對的嗎?  對於以前的工作陰影也逐漸揮別

所以依目前的工作環境是我改掉以前不良習氣最佳場所
並且ITS之前就有遇過  但並不知道裡面運作流程
所以趁著這個機會好好理解這各領域知識  並且公司花薪水讓我讀書
有甚麼不好

2020年11月22日 星期日

上班第六天

 今天是上班第六天,終於撐過一個星期五天了

對於高雄公司內部的辦公室環境也逐漸認識

說辦公室環境應該內部的人際關係及每一個人的個性

高雄辦公室之前都是女人當家  一堆女人及女生

所以養成極重的小鬼職場文化  我在外面抽菸說我煙味重

我的主管還給我口頭警告  我說我會少抽一點

中午休息抽下午抽了兩次  裡面的小妹妹很重等等

她會不會太敏感  第一天下班時她說看我走進檳榔攤

說我吃檳榔  我跟他說附近沒便利超商  所以我進檳榔攤買菸

她說:喔.....我心裡想:就算我是買檳榔  下班的時間就是我的時間

下班吃檳榔又如何公司能管我嗎?我心想我又不是妳老公或男朋友

妳是住海邊嗎?管那麼寬.....上星期五跟我說:主管跟我說我是專案管理師

我跟你的位階是不一樣  你是專案助理  我聽了並沒生氣  我說這樣也不錯

做助理不用背責任由主管背  她聽完急忙說你要背責任  我說:我是助理

背甚麼責任!當然由主管背  要不然誰敢當助理,她聽完急忙說:我們都是助理

我聽完唉......我內心真的不該說甚麼?就真的前面所說的小鬼  但我並不生氣

也讓我對高雄內部有更深一層的認識  這是所有公司都會出現的人物

甚麼是小鬼並不是貶抑詞  也就說此種人物對公司某個領域特別熟

但這個領域是專案的一小部分  也不是甚麼技術性的工作

而小鬼特別沒自信若別人問她負責的部分  防衛心就出來

簡單說就是要保住自己的工作  怕別人認為她沒用

丟了工作等等  因此形成了內心的扭曲  說一些有的沒有

公司一些風言風語  都是這些人造出來的

最近在讀金剛經說:無我象  無人象  無眾生象  無壽者象  一切象皆為虛妄

是啊!我是不適著象了!雖然我並沒有生氣但內心還是會想

昨天晚上讀金剛經時  佛陀說在哥利王哥截身體時  無我人眾生壽者

若佛陀有我人眾生壽者  即起瞋恨心  所以透過此事件  也了解住象的意思

的確心理一直想三毒習氣果然愈來愈重  沒事都變成有事  有一點懂金剛經

住象  不住色生心 不住聲香味觸法聲心


2020年11月19日 星期四

上班的第五天

今天上班的第五天的早上,真的不說人與人的相處

真的不容易,人家會你有甚麼目的  會不會取代我  你是要管我嗎?

等等想法,你要如何表態又不傷人家的情感

記得第一天上完班回家  就微生病

肩膀痛得受不了  昨天晚上阿嘉約喝酒

回到家11點多澡也沒洗12點就睡了

到了早上超不想上班  在床賴了10分鐘  還是起來

以後不能再喝了.....隔天上班起床  真的爬不起來


2020年11月18日 星期三

再度適應辦公室文化

 闊別三年的辦公室再度回到辦公中  真的有許多不適應

盡心公司今天已經第四天了  晚上的睡覺有約束了

平暈都在1點或2點睡覺  早上七點起床  開車上班

雖然每天1或2點才睡覺還是有一點晚  但還是盡量約束自己

記得第一天進辦公室時  真的超累得  主管很熱心跟我講專案的情況

我就拼命記  旁邊有一個系統工程師  我想未來是跟我搭配

小女生叫我倒垃圾  我認為她是好心  不過我第一天上班

真的太累了!就隨口說你叫我倒啊!可想而知小女生的心情受到傷害

第二天主管就跟我講抽菸不好等等!唉.....可想而知是小女生參的

昨天就跟她聊一下話家常  發現她有企圖心又自信心不夠  又怕沒存在的價值

其實這種人在許多辦公司都有存在這種人  也就是小鬼難纏!

不理她!她會覺得你要幹麼?理她對會對自己防衛

所以這種人不能跟她講你對公司的想法及看法  就只能透過話家常建立關係

對於你對公司的看法讓她知道  在必要的時候她會以情報的方式報給主管

所以這就是離開已久的辦公室文化!

2020年11月15日 星期日

離開辦公室三年,今天重回

離開辦公室三年的時間,都在家上班
今天重回辦公室的第一天
格外僅慎一早就起來  早上7:20出發
發現國道10猶如停車場
趕快下國10走平面道路
紅燈走走停停  到時為8:20
足足開了一小時  快昏了
還有10分鐘發格文
但另我意外的是路邊停車格
6小時計一次費  每次30元
所以最多一天60元
這是另我意外的事

狗及寵物的定義

最近看國外的雪橇狗的影片  
甚至育空雪橇狗的長征
看到狗最真實的一面
以及最野性的一面
發現這些狗都很快樂
用自己最本能的一面過著生活
看著牠們都很想親近牠們

也就正因如此人類就想擁有
因此變成人類的寵物
但看著人們養著寵物  狗也漸漸喪失了狗原始的野性
像阿拉斯加狗  哈斯奇  被人養著它們會快樂嗎?

活動量也不大每天都關在公寓中
想想以前自己也是很想養狗
但看完育空比賽的雪橇狗
我想我是自私的......

2020年11月12日 星期四

告別了!我以前的夢想...現實是殘酷的...

10月跟黃總在台南高鐵站談了近兩個小時

正式離開公司  其實事情也很簡單  黃總叫我寫業務報告

而每一件事的經過也都跟他報得很清楚  而我們是做專案的也沒多到要寫報告

在電話中就跟黃總叫板  又一星期沒打電話做收尾  黃總來電說合作到此為止

我也爽快答應記得當天喝個爛醉  也難過兩三天最後也想清楚了!

也清楚了解我為什麼一星期沒致電給黃總  心理的轉折及起伏

而這兩三天也暗自流淚  這個淚不是離職的原因!也不是黃總生氣的原因!

記得104年6月離職時,心中充滿了怨及恨,為公司拚成這樣.....

無怨無悔!為了工作也拋棄感情,一切以公司為重....結局為何是這樣....

心中有種不甘心所以106年6月再度回到公司,其實也沒想要做高位

只是單純在哪跌倒,在哪爬起!讓自己面對曾經讓我受傷的人事物

果然再度面對心中還是過不去,每當寫報告、規格總是會想起以前的種種

的確我在台中地確有點過份,忘記了身為一個臣子對老闆的尊重

但每天的壓力壓得我喘不過氣,每月不發薪水、員工離職、專案驗收、技術問題

管理的問題、標案的問題,問我的老闆總是沒有答案....當時的我真的不知該怎麼辦?

而這一股怨足足花了四年,我的心中才得到平息....

在高雄公司的三年也真的跑到噴精,就是沒有案子,你叫我怎麼辦?

其實去年就有感覺了,南部的市場沒有想像的好跑,尤其又離開了十年了

公司這邊也沒SITE!不容易,自己告訴自己不要想太多...做好自己該做的事就好

而很多事經不起現實的考驗,所以這次當想清楚,就是真的告別....

2020年10月9日 星期五

論文資料分析

 論文經口委意見修改給出一版,老師意見再修正,在到問卷發展前天寄給老師,也不知道老師是否讓我進入前測階段,我都覺得老師在拖我時間,但也不能怪老師啦!我的指導教授真的很忙,所以這段時間還蠻有空的,還去參加IT邦幫忙一面研究資料分析。

預計使用R做論文資料分析,在上個月突破最簡單的基本分析及信度分析,也就在參加IT邦幫忙中的題目將兩項進行突破,當然參加這個活動還是很有用的,對於R的掌握度愈來愈好,畢竟每天一篇文章。

到效度分析KMO及球型檢定很順利地寫出程式,但到主成份分析、轉軸、EFA等就卡關了,這一卡就兩個星期,到今天清晨3點多才研究出來轉軸及PCA分析,其實程式都不難,難在如何解讀跑出來的數據。

所以今天的現在就很有信心,但還須往下瞭解,所以將學長的論文中的資料分析章節,將資料分析邏輯整出來,讓自己知道還有多少東西要做下去,而內容依學長的文章先看,看不懂的再去Google查資料,這是以PCA分析的過程摸索出來,後續的流程也會依此方法下去研讀。

其實將學長論文的資料分析整出流程圖的靈感,來自在研究R PCA程式在網路中看到一篇文章,他將PCA分析的流程整出流程圖來的。

下星期一將生活步入正軌,該研究去研究,該運動去運動,讓生活及身體步入正軌。

2020年9月29日 星期二

32_用R寫論文_球型檢定

 在上一篇做KMO檢定E1~E10所有的問項的值都在0.9以上,接下進行球型檢定,而球型檢定則是用來判斷多變量常態分配,也可用來檢定是否適合進行因素分析,而球型檢定的統計量的P值均小於顯著水準的1%也就是0.01,表示該資料之抽樣為是當且適合進行因素分析。

同樣也是採用上一篇的資料集測試資料每筆資料就是一位填寫問卷的人,變數就是問題本身,跟前面的問卷基本分析紀錄資料的方式一樣,但對於本次57個變數太多了,我們只要E1-E10的變數,及前500名的參與者,而這份問卷主要調查個性是否外向,問項列表如下

這是人們對等級從1 =不同意到5 =同意的外向性項目的列表:

  • E1我是聚會的一生。
  • E2我沒說很多。
  • E3我周圍的人感覺很舒服。
  • E4我一直在後台。
  • E5我開始對話。
  • E6我無話可說。
  • E7我在聚會上與許多不同的人交談。
  • E8我不喜歡引起我的注意。
  • E9我不介意成為關注的焦點。
  • E10我在陌生人周圍安靜。

程式碼如下
DataKmo <- read.csv(file = "D:/工作區/我的筆記/程式筆記/R/Ironman Challenge/Paper/BIG5/data.csv",
                    header = TRUE, sep="\t",stringsAsFactors=FALSE)

View(DataKmo)
DataKmo <- DataKmo[1:500, paste0("E", 1:10)]
bartlett.test(DataKmo)


我們可以看到P-Value為0.003小於0.01,判定可進行因素分析

目前做到KMO及Bartlett 都很蠻簡單,下一篇進行PCA主成份分析,到這邊用R做都學得很簡單,以前在想用R做論文的分析都不知從何下手,現在目前發現都很簡單,甚至比EDA資料探索還簡單。




31_用R寫論文_KMO檢定

 在論文中的資料分析中會有信度分析及效度分析,而在前一篇已經介紹信度分析,本篇介紹問卷的效度分析,效度分析簡單講就是問卷中的問項是否可準確測出欲探討的問題,一份問卷的效度愈高,表示測驗的結果越能顯現測量對象的真正特質。

而效度分析可分為內容效度及建構效度。而內容效度及為你的問卷會進行前測和試測,因此內容效度是可以達到,重點是建構效度透過施測者的回答的結果,藉由統計測得建構效度,而進行建構效度時必須進行KMO、球型、主成份分析、因素分析,是一個過程,所以本篇會針對KMO檢定在R中如何進行。

而KMO是Kaiser-Meyer-Olkin的取樣是當性衡量數,當KMO值越大,表示變數間的共同因素越多,越適合進行因素分析,根據Kaiser的觀點,若KMO>0.8表示很好;KMO>0.7表示中等;KMO>0.6表示普通;KMO<0.5表示不能接受

首先依然採用網路上的測試資料每筆資料就是一位填寫問卷的人,變數就是問題本身,跟前面的問卷基本分析紀錄資料的方式一樣,但對於本次57個變數太多了,我們只要E1-E10的變數,及前500名的參與者,而這份問卷主要調查個性是否外向,問項列表如下

這是人們對等級從1 =不同意到5 =同意的外向性項目的列表:

  • E1我是聚會的一生。
  • E2我沒說很多。
  • E3我周圍的人感覺很舒服。
  • E4我一直在後台。
  • E5我開始對話。
  • E6我無話可說。
  • E7我在聚會上與許多不同的人交談。
  • E8我不喜歡引起我的注意。
  • E9我不介意成為關注的焦點。
  • E10我在陌生人周圍安靜。
程式如下:

DataKmo <- read.csv(file = "D:/工作區/我的筆記/程式筆記/R/Ironman Challenge/Paper/BIG5/data.csv",
                    header = TRUE, sep="\t",stringsAsFactors=FALSE)

View(DataKmo)
DataKmo <- DataKmo[1:500, paste0("E", 1:10)]

library(psych)
KMO(DataKmo)



從數值來看E1~E10的KMO值都大於0.9表示很好,每個變數的關聯性都很大,適合做因素分析。

怪不得學術界都會選用R,因為統計檢定真的很簡單,因違商業界真的很少做統計檢定。

2020年9月27日 星期日

30_R互動式網頁_ValueBox & 結論

 承上一篇主題及程式碼我們加入KPI的營運指標,而本篇要在KPI指標下方加入ValueBox以增加儀表板所提供的資訊能力

ui.R程式如下

library(shiny)
library(shinydashboard)

shinyUI(
  dashboardPage(
    dashboardHeader(title = "This is header"),
    dashboardSidebar(
      
      sidebarMenu(
        sidebarSearchForm("searchText","buttonsearch","search"),#加入搜尋
      menuItem("儀表板",tabName = "dashboard",icon = icon("dashboard")),
        menuSubItem("財務儀表板",tabName = "finance"),
        menuSubItem("銷售儀表板",tabName = "sales"),
      menuItem("資料分析"),
      menuItem("原始資料")
    )),
    dashboardBody(
      tabItems(
        tabItem(tabName = "dashboard",
                fluidRow(
                  infoBox("銷售總額美元",1000,icon = icon("thumbs-up")),
                  infoBox("倉庫周轉率%",paste0('20'),icon = icon("warning")),
                  infoBoxOutput("approved")
                ),
                #Add valueBox
                fluidRow(
                  valueBox(15*200,"15天內的預算",icon = icon("hourglass-3")),
                  valueBoxOutput("itemRequested")
                ),
                
                fluidRow(
                  tabBox(
                  tabPanel(title = "財務直方圖",status = "primary",solidHeader = T,plotOutput("histogram")),#move here
                  tabPanel(title = "儀表板控制",status = "warning",solidHeader = T,
                      sliderInput("bins","Number of Breaks",1,100,50),
                      textInput("text_input","search opptunities",value = "123456"))#move here
                  ),
                  tabBox()
                )),
                tabItem(tabName = "finance",
                        h1("財務儀表板")
                        ),
                tabItem(tabName = "sales",
                        h2("銷售儀表板"))
                )
      )

    )
  )

server.R程式如下
library(shiny)
library(shinydashboard)

shinyServer(function(input,output){
  output$histogram <- renderPlot({
    hist(faithful$eruptions,breaks = input$bins)
  })
  output$approved <- renderInfoBox({
    infoBox("已批准訂單","10,000,000",icon = icon("bar-chart-o"))
  })
  output$itemRequested <- renderValueBox({
    valueBox(15*300,"進貨商品總金額",icon = icon("fire"),color = "red")
  })
  
})

在KPI程式碼下加入fluidRow()內含valueBox方法,相同valueBoxOutput()在server.R內加入對應的函式,其實都是相同的邏輯,成果圖如下



基本上大致都完成,但我們可以看到直方圖的右邊並沒有圖,當然我們是練習Dashboard的相關語法,但右邊空著也很奇怪,所以在ui.R的程式如下


在server.R加入


成果圖如下

就像前面所說Shiny的相關方法很多並不能用寥寥幾篇文章就能理解,但可從這些範例入手擺脫枯燥無味的基本練習,達到做中學  學中做,當然這是我個人覺得有效率的學習,也希望對各位有些幫助。

今天也是最後一篇,回首這一個月每天都要發表一篇文章,起先以為很簡單應該不會造成太大壓力,結果還是讓人感覺有重不容易...不簡單的感覺,過程中覺得難的地方是每一篇的內容規劃以及題材蒐集和說明,當自己當初的想法都實行並寫成文章,結果發現只有10天的量。

不過暮然回首第一篇的引言將文章分為三個階段

第一階段會採用R內建的資料集,因為前面提到拿外面的資料光載入及資料整理就需花大量的時間及模索,對於資料的洞悉能力以及R的語法掌握並沒有幫助。

第二階段會以實際資料為主例如購物網站的消費分析、政府公開資料平台、論文中問卷等務實資料來發掘這些資料的分析。

第三階段做資料分析都以自己電腦為主也就是單機,但資料分析的結果需要與人溝通說明,讓其他人知道你的分析結果,而R有一個套件就是Shiny將結果形成互動式的呈現,以現今主流程式來說就是Web系統。

這30天也依據上述三個原則完成本次的鐵人的挑戰,想想還真不簡單,不過時間也很巧,我的碩士論文也要進入前測階段,我的指導教授最近醒了!剛好鐵人賽也結束,但我還是會持續寫將我對R的未解之題持續探索,最後我會將我的論文的資料分析寫成R的互動式網頁,而這些過程我會記錄在我的部落格中.....

各位朋友也祝您們寫code愉快....................bye.............





2020年9月26日 星期六

29_R互動式網頁_加入KPI指標

 承上一篇的主題及程式碼,本篇規劃在右側上方加入KPI營運指標,但又發覺直方圖及拉桿似乎太佔位置了,所以在加入KPI營運指標前,將直方圖及拉感合成一頁並分為兩個頁籤,程式依然以ui.R程式為主

library(shiny)
library(shinydashboard)
shinyUI(
  dashboardPage(
    dashboardHeader(title = "This is header"),
    dashboardSidebar(
      
      sidebarMenu(
        sidebarSearchForm("searchText","buttonsearch","search"),#加入搜尋
      menuItem("儀表板",tabName = "dashboard",icon = icon("dashboard")),
        menuSubItem("財務儀表板",tabName = "finance"),
        menuSubItem("銷售儀表板",tabName = "sales"),
      menuItem("資料分析"),
      menuItem("原始資料")
    )),
    dashboardBody(
      tabItems(
        tabItem(tabName = "dashboard",
                fluidRow(
                  tabBox(
                  tabPanel(title = "財務直方圖",status = "primary",solidHeader = T,plotOutput("histogram")),#move here
                  tabPanel(title = "儀表板控制",status = "warning",solidHeader = T,
                      sliderInput("bins","Number of Breaks",1,100,50),
                      textInput("text_input","search opptunities",value = "123456"))#move here
                  )
                )),
                tabItem(tabName = "finance",
                        h1("財務儀表板")
                        ),
                tabItem(tabName = "sales",
                        h2("銷售儀表板"))
                )
      )
    )
  )

其實我們可以看到程式碼,我們改的地方主要為dishboardBody中fluidRow的程式加入tabBox()將直方圖及拉桿包起來,並將直方圖原先box改為tabPanel,同樣拉桿的程式碼前方加入tabPanel,此時可為一頁又分別為兩個頁籤,這樣的好處是若我在後續規劃有其他的統計圖,可在增加一個tabBox方便我的規畫所增加的內容,成果圖如下



現在dashBoard上方加入三個營運KPI分別為銷售金額、倉庫周轉率、核准訂單,所以會加入fliudRow()內含有兩個infoBox及一個infoBoxOutput進行呈現,程式碼如下

ui.R程式如下
library(shiny)
library(shinydashboard)

shinyUI(
  dashboardPage(
    dashboardHeader(title = "This is header"),
    dashboardSidebar(
      
      sidebarMenu(
        sidebarSearchForm("searchText","buttonsearch","search"),#加入搜尋
      menuItem("儀表板",tabName = "dashboard",icon = icon("dashboard")),
        menuSubItem("財務儀表板",tabName = "finance"),
        menuSubItem("銷售儀表板",tabName = "sales"),
      menuItem("資料分析"),
      menuItem("原始資料")
    )),
    dashboardBody(
      tabItems(
        tabItem(tabName = "dashboard",
                fluidRow(
                  infoBox("銷售總額美元",1000,icon = icon("thumbs-up")),
                  infoBox("倉庫周轉率%",paste0('20'),icon = icon("warning")),
                  infoBoxOutput("approved")
                ),
                fluidRow(
                  tabBox(
                  tabPanel(title = "財務直方圖",status = "primary",solidHeader = T,plotOutput("histogram")),#move here
                  tabPanel(title = "儀表板控制",status = "warning",solidHeader = T,
                      sliderInput("bins","Number of Breaks",1,100,50),
                      textInput("text_input","search opptunities",value = "123456"))#move here
                  ),
                  tabBox()
                )),
                tabItem(tabName = "finance",
                        h1("財務儀表板")
                        ),
                tabItem(tabName = "sales",
                        h2("銷售儀表板"))
                )
      )

    )
  )

server.R程式如下
library(shiny)
library(shinydashboard)

shinyServer(function(input,output){
  output$histogram <- renderPlot({
    hist(faithful$eruptions,breaks = input$bins)
  })
  output$approved <- renderInfoBox({
    infoBox("已批准訂單","10,000,000",icon = icon("bar-chart-o"))
  })
})

上述程式碼中我們可以發現在ui.R中的infoBoxOutput,相對在server.R中也相對應,成果圖如下








28_R互動式網頁_版型調整

 承上一篇主題及程式碼我們已經完成初步的儀表板版型,本篇會進入版型的調整,對於我而言我會將UI的版型完成框架後,進行版型不足之處的加強,當然這是我的習慣,每個人都有自己開發的流程,所以本篇會以下列主題進行UI版型的調整

一、SidebarMenu內容調整

SidebarMenu會進行三個部分做調整包含滑桿下移、增加條件搜尋、增加文字框輸入等三個部分,程式碼如下,如同我針對ui.R做調整

library(shiny)
library(shinydashboard)
shinyUI(
  dashboardPage(
    dashboardHeader(title = "This is header"),
    dashboardSidebar(
      
      sidebarMenu(
        sidebarSearchForm("searchText","buttonsearch","search"),#加入搜尋
      menuItem("儀表板",tabName = "dashboard",icon = icon("dashboard")),
        menuSubItem("財務儀表板",tabName = "finance"),
        menuSubItem("銷售儀表板",tabName = "sales"),
      menuItem("資料分析"),
      menuItem("原始資料"),
      sliderInput("bins","Number of Breaks",1,100,50),#將滑桿移至功能列下方
      textInput("text_input","search opportunities",value = "123456")#增加文字輸入框
    )),
    dashboardBody(
      tabItems(
        tabItem(tabName = "dashboard",
                fluidRow(
                  box(plotOutput("histogram"))
                )),
                tabItem(tabName = "finance",
                        h1("財務儀表板")
                        ),
                tabItem(tabName = "sales",
                        h2("銷售儀表板"))
                )
      )
    )
  )

在ui.R程式碼中可看到加入註記#字號,為本次調整的部分,其實都不示很難,都是一般程式與法範圍功能即可完成,成果圖如下圖,當然條件搜尋即文字輸入沒有反應,因為沒跟資料做連結。


二、直方圖的調整

圖中我們可以感受直方圖很陽春!所以我們會將直方圖加點顏色,以及調整直方圖的動態滑桿拉至與直方圖相同的Body中並加入顏色,讓側邊功能選單能更單純以功能為主,在調整還是以ui.R為主程式碼如下

library(shiny)
library(shinydashboard)
shinyUI(
  dashboardPage(
    dashboardHeader(title = "This is header"),
    dashboardSidebar(
      
      sidebarMenu(
        sidebarSearchForm("searchText","buttonsearch","search"),#加入搜尋
      menuItem("儀表板",tabName = "dashboard",icon = icon("dashboard")),
        menuSubItem("財務儀表板",tabName = "finance"),
        menuSubItem("銷售儀表板",tabName = "sales"),
      menuItem("資料分析"),
      menuItem("原始資料")
    )),
    dashboardBody(
      tabItems(
        tabItem(tabName = "dashboard",
                fluidRow(
                  box(title = "財務直方圖",status = "primary",solidHeader = T,plotOutput("histogram")),#move here
                  box(title = "儀表板控制",status = "warning",solidHeader = T,
                      sliderInput("bins","Number of Breaks",1,100,50),
                      textInput("text_input","search opptunities",value = "123456"))#move here
                )),
                tabItem(tabName = "finance",
                        h1("財務儀表板")
                        ),
                tabItem(tabName = "sales",
                        h2("銷售儀表板"))
                )
      )
    )
  )

我們可以看程式碼其實並沒有多撰寫甚麼程式,只是移動功能的位置,其實在做UI的規劃會花很多的時間調整各功能的位置,有時會看到成果時才發現,UI還可以在做調整。



下一篇!會加入KPI指標





2020年9月25日 星期五

27_R互動式網頁_Dashboard之版型建立

 在前面幾篇都在介紹Shiny套件一些基礎的概念,當然Shiny套件不僅是如此,也不可能幾篇就能介紹完畢,但前面幾篇為重要的操作語言的概念,可了解很多大神的作品及自學的基礎,就像前面幾篇所提到當面對一些新的語法不外乎就是重基礎學起,但又不知如何是好又囫圇吞棗,學習的過程總充滿了挫折,喪失了寫程式的樂趣。

而今天這篇Dashbord儀表板會著重在ui.R中,因為當分析的結果總是要出去跟其他人溝通,在商業的世界可能是老闆或是單位的主管及決策者,而這些人可能不懂資訊就是一般的使用者,若我們以工程是師的概念將結果呈現,效果可能不太好,所以在Shiny套件有Dashboard能讓我們快速製作專業的網頁,當然該套件整合了css語法,但又不像css語法那麼羅唆,所以後續的幾篇程式碼是延續的。

本次儀表板的主題為公司營運管理儀表板,而資料採用R黃石公園溫泉爆發時間與等待時間資料集,對!我知道資料集的內容跟主題不一樣,但我們主要了解Dashboard套件的撰寫方式,須以資料作呈現,若以真實的世界資料為主工程就大了!反而混淆本次的主題,未來可置換資料集即可。

當然開一個資料夾分別存放ui.R及server.R兩個檔案,程式如下

ui.R程式如下

library(shiny)
library(shinydashboard)
shinyUI(
  dashboardPage(
    dashboardHeader(title = "This is header"),
    dashboardSidebar(
      sliderInput("bins","Number of Breaks",1,100,50),
      menuItem("儀表板"),
        menuSubItem("財務儀表板"),
        menuSubItem("銷售儀表板"),
      menuItem("資料分析"),
      menuItem("原始資料")
    ),
    dashboardBody(
      fluidRow(
        box(plotOutput("histogram"))
        
      )
    )
  )
)

server.R程式如下

library(shiny)
library(shinydashboard)
shinyServer(function(input,output){
  output$histogram <- renderPlot({
    hist(faithful$eruptions,breaks = input$bins)
  })
})

ui.R程式中其實細細看來很像html語法,但又沒有html語法的囉唆!簡潔有力,但其中要了解的是sliderInput("bins","Number of Breaks",1,100,50),這為動態拉桿的語法,而在dashboardBody中宣告要繪製直方圖,配合拉桿進行拖曳。

server.R程式中語法很簡單!配合上述所說本次以ui為主,所以我們要了解 hist(faithful$eruptions,breaks = input$bins)該句語法即可,所以翻成白話文為繪製直方圖,使用黃石公園資料集中的爆發時間欄位,並配合動態拉桿中的變數為bins。

成果如下圖



在成果圖上操作發現所功能都沒有連結,也就是html功能都連到一個超連結,所以下面就將功能連上連結,ui.R程式如下

library(shiny)
library(shinydashboard)

shinyUI(
  dashboardPage(
    dashboardHeader(title = "This is header"),
    dashboardSidebar(
      sliderInput("bins","Number of Breaks",1,100,50),
      sidebarMenu(
      menuItem("儀表板",tabName = "dashboard",icon = icon("dashboard")),
        menuSubItem("財務儀表板",tabName = "finance"),
        menuSubItem("銷售儀表板",tabName = "sales"),
      menuItem("資料分析"),
      menuItem("原始資料")
    )),
    dashboardBody(
      tabItems(
        tabItem(tabName = "dashboard",
                fluidRow(
                  box(plotOutput("histogram"))
                )),
                tabItem(tabName = "finance",
                        h1("財務儀表板")
                        ),
                tabItem(tabName = "sales",
                        h2("銷售儀表板"))
                )
      )

    )
  )

程式碼中我們可以發現其實跟html語法的邏輯是相同的,在menuItem指定功能名稱,在dashboardBody指定對應的功能名稱,而在dashboardBody中的tabItem撰寫該功能的程式;而在上述的程式碼中tabItems和tabItem兩個我搞了一小時,看來看去都沒問題程式就跑不起來,原來可以看到兩個函式一個有s一個沒s,有s的為相同類型的東西有很多加s,這是英文的基本文法,搞完才發現原來就這麼簡單,下面為成果圖



在成果圖上可以看儀表板有圖示icon,在程式碼中也有看到,其實Shiny套件也支援一般網頁第三方圖示套件,我們在console中輸入?icon即可出現相關說明如下圖


我們可看到網址有在寫前端的朋友應該都不陌生,只要知道該圖示的名稱,如本篇程式輸入圖示名稱,及自動去該網站取得該圖示。

今天到這邊,明天見!













2020年9月24日 星期四

26_互動式網頁_關聯規則

 關聯關則是資料探勘中很有名的買尿布有一定的機率會買啤酒,所以尿布和啤酒有一定的關聯度,所以在消費行為分析上是很有用,而分析的結果店家可以進行商品組合促銷,增加商品銷售率,關聯規則本來是要在店商分析中說明,不過沒關係配合Shiny網頁讓行銷人員透過Web進行分析,不過這些預測性的東西都須要對一些名詞的理解才能解釋,所以在這邊以尿布和啤酒,言簡意賅做解釋。

Support (支持度) : 意思是某特定種類在所有種類的比重,例如我有100名會員,其中有20名購買過尿布,則support(尿布) = 20% 。

Confidence (信賴度) : 意思是某A種類中,含有某B種類的比重,例如我有100名會員,其中40人買過啤酒,而這40買過啤酒者當中,又另有10人買過尿布,則confidence(啤酒->尿布) = 10/40 = 25% 。

Lift (提升度) : 意思為某兩者關係的比值,如果小於1 代表兩者是負相關,等於1 表示兩者獨立,大於1 表示兩者正相關,公式為confidence(A->B) / support(B) ,帶入上述例子可表示成 lift(尿布->啤酒) = 25/20 = 1.25 。

在R執行關聯規則須將原本資料結構dataframe轉換成transactions類別,也就是二元關聯矩陣,聽起來很像很偉大,其實就一個指令而已,而本次資料集採用套件arules中的Groceries內建資料集,該資料集為便利商店30天內的交易共計9835 筆,169各類別商品,該資料集已經為transactions資料類別,程式如下:

server.R程式

library(shiny)
library(arules)
shinyServer(function(input,output){
  
  output$mba <- renderPrint({
    rules <- apriori(Groceries,parameter = list(support=.001,
                                                confidence=.8))
    inspect(rules)
  })
  
})
ui.R程式
library(shiny)

shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel(
    
    ),
    mainPanel(
      verbatimTextOutput("mba")
    )
  )
))

在server程式中將商品的關聯結果採用renderPrint(),而不採用renderTable因為試過所呈現的效果不好,而在ui.R使用verbatimTextOutput(),該函式是建立文字元素通常是跟renderPrint()配合使用,因此成果如下圖


上圖我們可以看到關聯規則將所有的結果呈現,若使用者要調整不同的支持度和信賴度是無法調整,因為我們在server.R將兩個值給了固定值,所以我們將調整可以讓使用者調整兩個值,程式如下

ui.R程式調整如下

library(shiny)
shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel(
      selectInput("sup","請選擇支持度",choices = c(.1,.01,.05,.001,.005)),
      selectInput("conf","請選擇信賴度",choices = c(.5,.6,.7,.8,.9))
    ),
    mainPanel(
      verbatimTextOutput("mba")
    )
  )
))

server.R程式調整如下

library(shiny)
library(arules)
shinyServer(function(input,output){
  
  output$mba <- renderPrint({
    rules <- apriori(Groceries,parameter = list(support=as.numeric(input$sup),
                                                confidence=as.numeric(input$conf)))
    inspect(rules)
  })
})

在上述程式在ui.R中設定兩個變數分別為sup及conf`,存放支持度和信賴度的值,因此在server.R將值帶入,成果如下圖


以第一筆紅框來講,買{酸奶,優格}=>{全指牛奶}來看,兩者商品同時出現占所有商品的1%,而買了{酸奶,優格}會買{全指牛奶}佔全部數據58%,兩者商品的提升2.2為正相關。


2020年9月23日 星期三

25_R互動式網頁_DataTable

 在前面有介紹到Shiny套件在網頁呈現資料表格的方式,當然是很陽春!而今天我們在開發Web時都會常做的頁面,將資料呈現在網頁上,可讓使用者選擇整個頁面總共出現幾筆資料,並有關鍵字可進行搜尋,網頁的下方有資料的分頁。

我相信!在開發Web頁面時這些都是很基本的功能,甚至有時使用者會要求依據他篩選的資料要求,下載成csv或Execl檔案,供它們後續的加值應用。

因此本篇將以R的資料集iris進行,首先也是開一個新的資料夾,並將ui.R及server.R開新檔分別命名,當然也可以將之前幾篇的檔案複製過來;接下來安裝套件DT,而DT套件是甚麼?DT套件使得JavaScript中的方法能在R中被應用,並將矩陣或者數據表在網頁中可視化成表格,程式碼如下

ui.R程式

library(shiny)
library(DT)
ui <- fluidPage(
  titlePanel("Data Table Download"),
  sidebarLayout(
    sidebarPanel(
      
    ),
    mainPanel(
      DT::dataTableOutput("iris")
    )
  )
)

server.R程式

library(shiny)
server <- shinyServer(function(input,output){
  output$iris <- DT::renderDataTable({
    iris
  })
})

成果如下


老實說真的很簡單!做出來東西雖然不很炫!但簡單乾淨,當然有很多參數可調,可使用?DT()就會有眾多參數進行調整,接下來就是依據使用者的篩選後的結果下載,目前我們的搜尋針對項次做搜尋,而搜尋的結果可下載成csv檔案,本次只要修改server.R即可,ui.R維持原樣程式碼如下
library(shiny)
server <- shinyServer(function(input,output){
  output$iris <-  DT::renderDataTable({
    DT::datatable(iris,
                  extensions = 'Buttons',
                  options = list(
                    dom = 'Blfrtip',
                    buttons = 
                      list(
                        list(
                          extend = 'csv',
                          buttons = c('csv'),
                          exportOptions = list(
                            modifiers = list(page = "current")
                          )
                        ))
                  )
    )
  })
  
})

其中程式碼中Blfrtip是有意義不是單純字串,解釋如下

l- l更改輸入量
f- f過濾輸入
t-有t能力!
i-表i信息摘要
p- p攪拌控制
r- r處理顯示元素

成果如下



下一篇見!









2020年9月21日 星期一

24_R互動式網頁_Shiny Plot

 上一篇中將資料集以renderTable()涵式以往頁方式呈現,並以動態的方式進行選擇,讓使用者能夠清楚瞭該資料集的結構,而今天我們將了解繪圖的部分,一樣我們還是使用鐵達尼的資料集,並以上一篇的程式碼為基礎進行程式碼的撰寫

首先我們在ui.R撰寫,程式如下

library(shiny)
ui <- fluidPage(
  titlePanel("This is a demo"),
  sidebarLayout(
    sidebarPanel(
      selectInput("inState","請依鐵達尼資料集選擇欄位",choices = names(titanic))
    ),
    mainPanel(
      plotOutput("titanicData")
    )
  )
)

上圖程式碼跟上一篇差不多,不一樣,choices = names(titanic),告訴Shiny套件鐵達尼資料集內所有的變數都可進行選擇;在上一篇我們要呈現資料集的表格,而本次要呈現圖形所以採用  plotOutput("titanicData")涵式告知套件,接下進入到server.R檔案撰寫,程式如下

library(shiny)
server <- shinyServer(function(input,output){
  output$titanicData <- renderPlot({
    hist(titanic[,input$inState])
   
 #stateFilter <- subset(titanic,titanic$Pclass == input$inState)
  })
})

我們把上一篇的語法變為註解,我們可以發現兩者不同之處,告訴套件我們要繪圖renderPlot(),而圖怎麼多我們要要會甚麼圖ㄋ?所以告訴套件繪製直方圖hist(),那直方圖的資料你需要以哪個值為主input$inState,而這個就是在ui.R檔案所設的變數名稱,而我們可以注意input$inState在逗號的右邊,意思為選擇欄相對在逗號的左邊為選擇行,而詳細的部分可參考本篇的第一篇。

最後的成果如下圖



若你的欄位是字串會出現錯誤畫面,不過這不影響我們金要講的重點!

下一篇見!





2020年9月20日 星期日

23_R互動式網頁_Shiny table

 上一篇提到在Shiny套件中具備ui和server兩個物件,ui就是網頁的版型及事件,server將前端的ui進行運算,所以這兩個物件是Shiny套件很重要的觀念,我們延續上一篇的內容發現ui及server都是寫在同一個檔案app.R中,在簡單的程式中這樣是沒有問題,但是在複雜的需求中這樣的寫法就不妥了,所以Shiny套件中的說明建議開發者將ui及server分為兩個檔案撰寫,在維護中也會比較簡單,在修改程式碼中滾輪也不會滾到變成多爾袞。

在分成成各個檔案撰寫聽起來好像有點困難,其實不難其實跟.NET一樣一個專案一個資料夾,資料夾內有網頁所需的檔案以及ui.R及server.R,而分成兩個檔案只需將前一篇的ui貼製ui.R即可,server也是如此,如下圖


成果如下:



要執行時在ui或server兩個檔案都可執行,按下Run App即可


接下來我們要做一個web系統經常做的事,就是依下拉選單的選擇後出現屬於下拉所選的資料,如此的好處因為使用者不會想看所有的資料,所以依下拉選單篩選所屬資料從以前到現在歷久不衰,所以我們使用鐵達尼的資料,先開一個新檔把資料讀進R中,而資料集和讀進R中可參閱第二篇有資料集的下載網址及第三篇將資料至R的程式中。

ui.R程式如下

library(shiny)

ui <- fluidPage(
  titlePanel("This is a demo"),
  sidebarLayout(
    sidebarPanel(
      selectInput("inState","請選擇船艙等級",choices = titanic$Pclass)
    ),
    mainPanel(
      tableOutput("titanicData")
    )
  )
)

server.R程式如下
library(shiny)
server <- shinyServer(function(input,output){
  output$titanicData <- renderTable({
    stateFilter <- subset(titanic,titanic$Pclass == input$inState)
  })
})

在程式碼中跟上一篇shiny的程式都相同,只有renderTable()涵式及subset()涵式不一樣,因本次是要依下拉選單篩選出來的資料,所以是以table方式出現,所以使用renderTable()進行計算;篩選出來的資料使用subset()資料子集涵式包裹。

其實相對的參數都不難理解,成果如下圖

當然你也使用其他資料集自行實驗一下,其實我寫這段時蠻訝異的!因為真的很簡單,比以前在開發web同樣的功能,設過來設過去,有時搞得我好亂啊!記得!若要載進其它資料時,先開依各檔將資料集先讀進R,在開始寫ui及server的程式,當然後續會介紹如何將資料集自動讀進R中。

我們下一篇見!








無現金支付的反思!

  **購物經歷** - 作者花費大量時間尋找立燈,最終在IKEA購買了一個649元的立燈 - 在IKEA附近停車場遇到只接受無現金支付的情況,被迫註冊並使用Line Pay **無現金支付的觀察** - 作者認為Line Pay作為前端介面,有助於提高停車場付費效率 - 作者預...