R_assignment#ch13


1.某動物園,觀察30天有關老虎、獅子和豹的出現次數,列出三種動物30天內出現次數之最大值、最小值及平均值
ch13_1 <- function()
{
 an_info <- matrix(round(rnorm(90,10,3)), ncol = 3)
 colnames(an_info) <- c("Tiger", "Lion", "Leopard")
 rownames(an_info) <- c(paste(rep("Day", times = 30), 1:30))
 print(an_info)
 apply(an_info, 2, function(x) c(max(x), min(x), round(mean(x))))
}

2.承上題,請設計含有NA之數據,再次計算最大、最小及平均值
ch13_2 <- function()
{
 an_info <- matrix(c(round(rnorm(87,10,3)),NA,NA,NA), ncol = 3, byrow = TRUE)
 colnames(an_info) <- c("Tiger", "Lion", "Leopard")
 rownames(an_info) <- c(paste(rep("Day", times = 30), 1:30))
 print(an_info)
 apply(an_info, 2, function(x) c(max(x,na.rm = TRUE), min(x,na.rm = TRUE),
                                 round(mean(x,na.rm = TRUE))))
}

3.請使用tapply函數,執行計算美國四大區之人口、面積及收入平均
ch13_3 <- function()
{
 sstr <- as.character(state.region)
 vec.pop <- state.x77[,1]
 vec.area <- state.x77[,8]
 vec.income <- state.x77[,2]
 x <- c(vec.area, vec.pop, vec.income)
 names(x) <- NULL
 Info <- matrix(c(vec.pop, vec.area, vec.income), ncol =  3)
 a.answer <- matrix(c(tapply(vec.pop, factor(sstr, levels = c("Northeast", "South",
                                                  "North Central", "West")), sum),
                      tapply(vec.area, factor(sstr, levels = c("Northeast", "South",
                                                   "North Central", "West")), sum),
                      tapply(vec.income, factor(sstr, levels = c("Northeast", "South",
                                                   "North Central", "West")), mean)),
                    nrow = 3, byrow = TRUE)
 colnames(a.answer) <- c("Northeast", "South", "North Central", "West")
 rownames(a.answer) <- c("pop", "area", "meanIncome")
 print(a.answer)
}


ReadDaBook#002-被討厭的勇氣





        關於勇氣,我想每個人心中都有個不一樣的解釋,心中無數對於英雄的印象,應該要大公無私,應該要無怨無悔,應該要已他人為重、犧牲小我,完成大我。好似做不到這些,就是懦弱的人,就應該需要生活在陰暗的角落,包得緊緊的,最好不要出來見人,免得丟臉。

        我想,我是極端了點,現在已經慢慢有人開始稱讚出櫃的同性戀勇敢、反抗沙文主義的女性勇敢、接受不完美自己的傢伙勇敢,只是,這世界還是有些憤世嫉俗,如何能無視花花世界的嘈雜、謾罵以及冷言冷語,一開始,我認為是不可能的,人們注定要承受這些原罪,注定要浮浮沉沉、跌跌撞撞,像是在地獄鼎鑊中受刑的惡鬼們,直到死亡前無法安寧。

        直到有天,一位好友一定要我把這本書給帶回去看完(甚至掏錢從誠品給我帶了一本),我不知道他為何如此執著,但我還是半信半疑地將就帶回去了,看完封面下襬的可拆解式封條的各種名人推薦,我覺得有些虛偽,有些矯揉造作,是否又是另外一本書商炒作的暢銷版垃圾,不過現代人的心靈阿,真的是很空虛,像是黑洞(見下圖)一般,可以把所有的快樂都吸進去,也把自己給吸進去了,於是找不到自己的人們,開始信奉seafood,求神拜佛,所費不貲只為得到那一點點微不足道的歸屬感,於是我就將信將疑的看了,希望能是拯救我心靈的那怕是一根稻草也好,看完之後,有點五味雜陳,不過是好的那方面的,有點像新陳代謝,套句大陸人常講的話,刷新我的三觀。
「black hole」的圖片搜尋結果

        整本書,沒有用到許多艱深的專有名詞,倒是一些平常易懂的口語文字(畢竟是對話式的文體),蘇格拉底的對話錄我沒看過,但大概就像這樣吧,像孔子學生把他講過的話記錄下來,只不過是白話文。開頭第一章節就語出驚人的否定了所謂的「心理創傷」,理所當然地指著受害者們說:你們自己選擇要受傷的。既嚴厲又不政治正確。我是不知道也沒有資格說他對不對,但就在書中年輕人與哲學家一來一往的辯白中,我明白了一個道理,那就是:自怨自艾是舒服的。就像你開一台老車,不好開但習慣了,轉換甚麼的,太累了。既直白又有點悲哀,不過確實,「不幸」的事件是事實,已然發生的事實,誰都無法改變;但「不幸」感覺的延續,卻是你自己選擇的,你選擇要繼續開你這台自怨自艾的老車,你選擇要以受害者的身分博得同情。

        由於第一章該怎麼說,引人入勝吧,第二章開始我就收起敷衍了事的心態,認真的琢磨了起來,這時哲學家又做了一個既倔強聽起來又強詞奪理的結論:所有的煩惱都來自於人際關係。甚麼?我沒聽錯吧!這也未免太過自大,難道連馬斯洛說的最基本的生理需求,也可以被歸類於人際關係的煩惱嗎?不過,仔細思考後,其實這個宇宙若只剩你一人,其實也沒有所謂資源分配不均(下圖)的情形出現了吧,甚至連「孤獨」都會是一個與你無關的概念,畢竟你也不知道會有其他人存在的可能。然後便是這冷酷世界的一些解方,也是我覺得這本書最高潮的地方了,哲學家說:你怎麼說,是你的課題;他怎麼想,是他的課題,與你無關。這句大概是本書我最認同的一句話了,從來沒想過問題可以這樣切割,就好像國中做的幾何數學題,總是想不到的那條輔助線。哈哈哈,真的很想笑,人類如此聰明,卻又聰明反被聰明誤,連金字塔都蓋得出來,卻為了解答如此簡單的問題煩惱了世世代代,真是可笑。與其用沾滿泥巴的鞋子,踏進別人家替別人擔心他要怎麼看你,不如就像冰雪其原理的艾莎:Just let it go
「fight for resource」的圖片搜尋結果



        說起來容易,做起來卻無法像書中的哲學家那般優雅從容,人總是被各種根深蒂固的倫理道德、社會體制所牽絆著,進而有了逃避的「目的」,然後創造出了「心理創傷」,無論是受過家暴的小孩封閉自己逃避現實,還是受社交障礙所苦的年輕人不願再受挫而成為繭居族,總覺得他們有點可憐,也有點可恨,明明傷害已經造成了,無法再度挽回,而「改變」的路一直都在;和過去切割的路也一直都在,卻總是跨不出去,怕再度跌倒、再次受傷,卻不知道你過去跟你現在要選擇怎麼過一點關係都沒有這個簡單道理。

       看完了書,我沒有解答,畢竟世界上沒有所謂的萬靈丹,但我釐清了很多東西,比方說我就是我,沒有人要為我的人生負責,也沒有人有資格左右我的人生,而我,也不應該去左右誰的,老實說,這感覺很放鬆、很暢快,對,很暢快,就好像被關了十幾年的囚犯重見天日那樣,我懂了一些簡單的,昨天我不懂的問題。

R_assignment#ch12


1.     不得使用R內建的函數,請設計下列函數
a.          最大值 mymax( )
 mymax <- function(x)
{
  if(is.numeric(x) == FALSE) print("This is not a vector")
  else{
  max_x <- x[1]
  for(i in seq_along(x)){
     if(x[i] >= max_x){
      max_x <- x[i]
    }else max_x <- max_x
  }
  print(max_x)
  }
}
b.          最小值 mymin( )
 mymin <- function(x)
  {
  if(is.numeric(x) == FALSE)
  {
    print("This is not a vector")
  }else {
  min_x <- x[1]
  for(i in seq_along(x)){
    if(x[i] <= min_x){
      min_x <- x[i]
    }else min_x <- min_x
  }
  print(min_x)
  }
}
c.           平均值 myave( )
 myave <- function(x)
  {
  if(is.numeric(x) == FALSE){
    print("This is not a vector")
  }else{
    sum_x <- 0
    for (i in seq_along(x)) {
      sum_x <- sum_x + x[i]
    }
    ave_x <- sum_x / length(x)
    print(ave_x)
  }
}
d.          排序 mysort( )
 mysort <- function(x)
{
  if(is.numeric(x) == FALSE){
    print("This is not a vector")
  }else{
    sorter <- integer(length(x))
    counter <- length(x)
    repeat{
      max_x<-max(x)
      if (sum(x==max_x)>1){
        sorter[counter:(counter-sum(x==max_x)+1)] <- max_x
      }else{
        sorter[counter] <- max_x
      }
      counter <- counter - sum(x==max_x)
      if(counter <= 1) break
      x <- x[-grep(max(x),x)]
    }
    return(sorter)
  }
}
2.     電費收費函數
a.          每度100
b.          超過300度打8
c.           超過100杜但小魚等魚300度打9
d.          政府再打7折、清寒再打5
 elec_fee <- function(deg, customer, unitPrice = 100)
{
  coefficent <- numeric(0)
  for(i in deg){
  if(i > 300) {index <- 1}
    else if(i > 100 & i <= 300){index <- 2}
    else{index <- 3}
  coefficent <- c(coefficent, switch(index,0.8,0.9,1))
  }
  net.price <- deg * unitPrice * coefficent
  adj <- numeric(0)
  for(j in customer){
    adj <- c(adj, switch(j, government = 0.7, poor = 0.5, 1))
  }
  finalPrice <- net.price * adj
  round(finalPrice)
}
3.     計算state.region 每區各有多少州
 region_num <- function(n)
{
  Northeast <- 0
  South <- 0
  North.Central <- 0
  West <- 0
  for (i in n) {
    if(i == "Northeast")  Northeast <-  Northeast + 1
    else if(i == "South")  South <- South + 1
    else if(i == "North Central")  North.Central <- North.Central + 1
    else West <- West + 1
  }
  region.count <- c(Northeast, South, North.Central, West)
  names(region.count) <- c("Northeast", "South", "North.Central", "West")
  print(region.count)
}
4.     使用state.x77配合state.region 計算美國4大區
a.          人口數
 state.x78 <- cbind(state.x77,state.region)
state.pop <- state.x78[,c(1,9)]
head(state.pop)

region_pop <- c(sum(state.pop[state.pop[,2] == 1,"Population"]),
                sum(state.pop[state.pop[,2] == 2,"Population"]),
                sum(state.pop[state.pop[,2] == 3,"Population"]),
                sum(state.pop[state.pop[,2] == 4,"Population"]))
names(region_pop) <- c("Northeast", "South", "North.Central", "West")
region_pop
b.          面積
 state.area <- state.x78[,c(8,9)]
head(state.area)

region_area <- c(sum(state.area[state.area[,2] == 1,"Area"]),
                 sum(state.area[state.area[,2] == 2,"Area"]),
                 sum(state.area[state.area[,2] == 3,"Area"]),
                 sum(state.area[state.area[,2] == 4,"Area"]))
names(region_area) <- c("Northeast", "South", "North.Central", "West")
region_area
c.           平均收入
 state.income <- state.x78[,c(2,9)]
head(state.income)

region_aveincome <- c(mean(state.income[state.income[,2] == 1,"Income"]),
                      mean(state.income[state.income[,2] == 2,"Income"]),
                      mean(state.income[state.income[,2] == 3,"Income"]),
                      mean(state.income[state.income[,2] == 4,"Income"]))
names(region_aveincome) <- c("Northeast", "South", "North.Central", "West")
region_aveincome

ReadDaBook#001-The last lecture



        
       其實要說為什麼會開始想寫網誌,有很大一部份原因是因為這一本書,CMU教授 Randy Pausch 寫的「The last lecture」,不說裡面的勵志、心靈雞湯、活在當下等等老生常談,光是被預告即將走到生命盡頭的人還願意拖著半踏棺材的身體,拋下即將過生日的老婆、襁褓中的小孩在美國各大學巡迴演講這件事,就很值得我們思考了。

        不是要說作者無情,反而應該說,就是因為有情、就是因為體悟了人生的價值,才更了解到做自己是多麼難能可貴、多麼尊重生命的一個舉動,死了的是軀殼,最後只會剩粉;留下來的,是活過的痕跡、是價值。因為自己也有家族遺傳的疾病,所以我特別能體會作者想要留下甚麼的心,留給小孩讓他們知道爸爸是怎麼樣的人、知道爸爸是有溫度、有思想、有血有淚也有愛的;留給老婆、更是留給看到書的千萬讀者。像是之前youtube上面一個癌症兒童Theweevster18的頻道(見下圖)想要紀錄自己畫畫的過程給大家看,總是一個人躺在病床上對著鏡頭說著大家好,今天要來教大家畫甚麼,我想,並不是真的要教大家甚麼,更像是想留下些甚麼吧。

        書中Randy自己講了好多次每當他看著小孩天真地笑著,卻不斷有著小孩長大後要承受喪父之痛的意象,總是讓我鼻酸,不過當我想可憐他的時候,我猜他又會像在演講時那般表演拿手的伏地挺身,滿臉笑容的說著:「我看起來像病人嗎?」來駁斥我的同情吧!又或者說著迪士尼樂園的關門時間理論,笑我是個說只剩2小時能玩的那派悲觀主義者,而不是認為「還有」兩小時的樂天派。

        的確,看著書中作者不斷克服難關,完成了一卡車看似不可能的夢想,如同去迪士尼、Nasa上班甚至是去打NFL,著實讓人振奮,也特別過癮。我最喜歡作者說的一句話就是:「The brick walls are there to stop those who don't want it badly enough, the brick walls are there to stop other people.」如果今天是連勝文跟你說這句話你可能會嗤之以鼻,那是因為你資源多、你有個後台硬的老爸,但作者就是那種說起來你特別無法反駁的人,他用一生來貫徹這個理念,無論是在工作、研究還是在愛情上,甚至到了生命的盡頭,也沒有放棄任何他想追求的事物,這也是為什麼這句話在我聽來,特別有力量。

       山不在高,有仙則靈;生命也不在長,有活過則已。你可以不認同作者的觀念,只是我在推薦這本書時,我會說,希望你能找到自己活過的方式,而作者是我看過最能代表活過這個概念的人之一,也勉勵自己時時刻刻都要提醒自己活著,感受當下的一切、品嘗以及琢磨自己的理想。



        以此紀念去年(2017)過世的好友逸恆,用力的活過的你,留下來的,都會在我們的心中;留不下來的,就原諒他,不要再讓他與自己輪迴。謝謝你教我用自己的方式活,才是最棒的活法,才是最負責的活法。

季寧談管理讀後感

承蒙研究所恩師曾宗琳老師贈書,尤其在企管所唸了兩年之後,拜讀季寧的管理哲學,別有一番風味。公司管理究竟是可以用教科書教學而使管理人才有機會量產的一門學科,還是師父領進門,悟道與否自在徒弟有否慧根的一門藝術,自古便爭論不休。印象最深刻的,便是研究所參加台大 TMBA ...