ReadDaBook#003-不被情緒左右的28個練習


        第一眼看見本書的封面,覺得有點滑稽,有點好笑,從而更引起我想翻開他的慾望了,好像不僅僅只是為了吸收使心靈強壯的知識,更是為了想看看選用如此滑稽封面的日本作者如何完整詮釋他的獨特情緒練習理論。

       翻開目錄,本書分成5個章節,前兩章探討人情緒被影響的原因,比起醫學理論上的各種專業術語,本書更注重行為上的解釋,淺顯易懂而且很有說服力,雖說有些很難不落入俗套,但也再再點明現代人的一些問題,以下整理:

1.          容易被影響的人忙別人的事;懂得將工作變成「自己的事」,才能提升自我效能
2.          容易被影響的人意興闌珊;找到除了工作外的多線道興趣,較容易對情緒放得下
3.          容易被影響的人過度解讀別人話語;將不滿寫下、客觀分析,遠離妄想式猜測
4.          容易被影響的人非黑即白;找到人生的灰色地帶,會好過一些
5.          容易被影響的人喜歡期待別人;放下別人「應該如何」,使溝通變明確
6.          容易被影響的人做錯事會找藉口;如果是自己的錯,爽快的道歉吧
7.          容易被影響的人在意失眠;接受偶爾的失眠,是為了保護自己
8.          社群媒體、偏頗資訊使人不安;重視真實世界之體驗,活在當下
9.          生物本能傾向忘不了不愉快的事物;接受自己無法放下
10. 越想不被影響,越容易被影響;接受自己當下就是「受影響了」
11. 不被影響不等於忘記;可以多借助別人的力量
12. 大腦會被一時的情緒牽著走;把情緒化做言語,不要快速做出反應
13. 即使是減少坐著的時間,也有助於心理健康
14. 別太在意男生如何、女生如何;朝「自己如何」去思考
15. 用環境中和基因對情緒還有個性的影響
     身在文明的社會,少了豺狼虎豹的立即威脅,多了人際關係以及文明世界的煩惱,人們再使用對付豺狼虎豹那套來應付,似乎有點不切實際,也對自己的心理造成了許多不小的負擔,所以我們寫了許多書來找尋平衡、找尋心中寧靜的一塊,有人說,心情就像天上的雲朵一樣,壞心情就像烏雲,但若妳開飛機飛過平流層,會發現平靜的地方一直都在,不過不是人人都會開飛機,所以就需要一些練習,下面整理書中說的練習:

1.          習慣可以改變情緒;將行動代替心靈創傷
2.          提高心理的韌性;建立良好人際關係,不要凡事自己承擔
3.          化悲憤為感謝;即便是親近的人也要時常表達感謝
4.          軟化死腦筋;即便已經知道答案,也要列出答案客觀思考一遍
5.          勇敢地放棄;承認做不到才是健康的放下
6.          告別假設是思考;與其沒做而後悔,不如就做吧
7.          用愉快經驗覆蓋不開心
8.          不用過分區分煩惱的公私
9.          學習真正的正面思考;積極面對現在能做的事
10. 給自己高明的藉口;以狀況為藉口,不要涉及自身價值判斷
11. 有容乃大;接受「原來也有人這樣想」
12. 不要因為「熱心」造成自己的困擾
13. 將快爆炸的自己「臨停一下」;心情停車後,專心先作正事
14. 別讓自己的正義感變成對別人的仇恨
15. 身體語言跟情緒密不可分;試著強迫自己微笑
16. 疲於人際時,來場小旅行
17. 換個說法;不要再使用負面的被害者說法
18. 別把不幸推給過去;有不滿就儘快說出來吧
19. 承認自己放不下;告訴自己被影響也沒關係
20. 對有壓力的事情訂一個期限;不要給自己判無期徒刑
21. 「想像」走出悲傷的自己;沒有人希望一輩子走不出來
22. 把悲傷哭出來,無論妳是男性或女性
23. 想煩惱就盡情煩惱一場,直到大腦厭煩
24. 切換情緒,接受失敗經驗也是成長必經
25. 別讓希望成為重擔;希望要適可而止
26. 保留遠離網路的時間
27. 了解失眠的意義,不要太執著
28. 尋找有相同經驗的夥伴,消除「只有我這樣」的孤獨感

     總結一下,這是一本蠻實用的工具書,用實際的練習代替嘴砲心靈雞湯,切切實實的要妳身體力行,凡是無法一蹴可及,第一次做練習總是覺得沒有效果,就像重訓一般,只有持續的練習才有辦法比昨天的自己更強壯。



R_assignment#ch15


1請重新設計動物園程式,使用sample()函數,在10100間,自行產生30天動物出現次數
ch15_1 <- function( )
{
    an_info <- matrix(sample(10:100, 90, replace = T), 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.設計一個比大小的程式,先行設定電腦贏的機率
ch15_2 <- function( )
{
    cat("請輸入1~10內之數值資料,若想結束,請按Enter")
    x1 <- scan()
    x2 <- sample(1:10, 1, replace = T,c(1 ,2 , 3, 4, 5, 6, 7, 8, 9, 10))
    x3 <- "abc"
    if(x1 > x2)
    {
        x3 <- "Win"
    }else if (x1 == x2)
    {
        x3 <- "Flat"
    }else {
            x3 <- "Lose"
        }
    cat(x3)
}
3.設計骰子遊戲,每次結束詢問一次是否重玩
ch15_3 <- function( )
{
    x2 <- y
    repeat{
        x1 <- sample(1:6, 3, replace = T)
        cat("Dice game :", x1, "\n")
        cat("Play again? y/n")
        x2 <- scan(what = character())
        if(x2 == "n") break
    }
    print("Game over")
}
4.請計算iris花瓣及花萼平均的length/width
ld.r.petal <- mean(iris$Petal.Length / iris$Petal.Width)
ld.r.sepal <- mean(iris$Sepal.Length / iris$Petal.Width)

ch15_4 <- cbind(ld.r.petal, ld.r.sepal)
5.請將islands物件—面積大小分成10等分
ch15_5 <- function( )
{
    islands_2 <- as.data.frame(islands)
    label.islands <- cut(islands, 10, 
                         labels = c("Low", "9th", "8th", "7th", 
                                    "6th", "5th", "4th", "3rd", "2nd", "High"))
    islands_new <- cbind(as.character(label.islands), islands_2)
    dimnames(islands_new)[[2]] <- c("grade", "area")
    x <- order(islands, decreasing = T)
    y <- islands_new[x, ]
    print(y)
}
6.合併state.x77中人口少於500萬盒月收少於500美元的州
ch15_6 <- function( )
{
    mystate.x77 <- as.data.frame(state.x77)
    mystate.x77$Name <- rownames(state.x77)
    rownames(mystate.x77) <- NULL
    mypopu.states <- mystate.x77[mystate.x77$Population < 5000, c("Name", "Population")]
    myincome.states <- mystate.x77[mystate.x77$Income < 5000, c("Name", "Income")]
    x <- merge(mypopu.states, myincome.states)
    print(x)
}
7.承上題,只要其中一個條件符合即可
ch15_7 <- function( )
{
    mystate.x77 <- as.data.frame(state.x77)
    mystate.x77$Name <- rownames(state.x77)
    rownames(mystate.x77) <- NULL
    mypopu.states <- mystate.x77[mystate.x77$Population < 5000, c("Name", "Population")]
    myincome.states <- mystate.x77[mystate.x77$Income < 5000, c("Name", "Income")]
    x <- merge(mypopu.states, myincome.states, all = T)
    print(x)  
}
8.計算mtcars裡不同汽缸數車輛之平均馬力(hp)
ch15_8 <- function( )
{
    mycar <- within(mtcars, 
                    cyl <- factor(cyl, levels = c(4, 6, 8),
                                  labels = c("四汽缸", "六汽缸", "八汽缸")))
    x <- with(mycar, tapply(hp, cyl, mean))
    print(x)
}
9.自行設5位球員主力,到各處比賽之資料,製作長格式及寬格式數據,同時建立樞紐分析表
ch15_9 <- function( )
{
    game <- c(paste(rep("G",times = 10), 1:10, sep = ""))
    site <- c("LA", "SF", "SF", "NYC", "LA", "TX", "TX", "SF", "NYC", "LA")
    Lin <- c(sample(10:20, 10, replace = T, set.seed(1)))
    Wang <- c(sample(10:25, 10, replace = T, set.seed(2)))
    Lu <- c(sample(15:25, 10, replace = T, set.seed(3)))
    Pete <- c(sample(9:18, 10, replace = T, set.seed(4)))
    Jordan <- c(sample(16:28, 10, replace = T, set.seed(5)))
    balls <- data.frame(game, site, Lin, Wang, Lu, Pete, Jordan)
    lballs <- melt(balls, id.var = c("game", "site"), 
                   variable.name = "name", value.name = "points")
    site.ball <- dcast(lballs, site ~ name, sum)
    game.site.ball <- dcast(lballs, game + site ~ name, sum)
    cat("Enter a for short form; b for long form;
        c for site~name; d for game + site ~ name")
    x <- scan(what = character())
    if(x == "a") print(balls)
    else if(x == "b") print(lballs)
    else if(x == "c") print(site.ball)
    else if(x == "d") print(game.site.ball)
    else print("Error")
}

R_assignment#ch14

1請設計程式,此程式會要求輸入姓名,然後回應”Welcome”和所輸入的姓名
ch14_1 <- function( )
{
    cat("Please enter your name, press /Enter/ to end")
    x1 <- scan(what = character())
    cat("Welcome~", x1)
}
2.重新輸入上一個程式,但將輸出轉至exer14_2.txt
ch14_2 <- function( )
{
    cat("Please enter your name, press /Enter/ to end")
    x1 <- scan(what = character())
    cat("Welcome~", x1, file = "~/exer14_2.txt")
}
3.使用Scan( )讀取txt10筆資料,計算總合、平均、最大及最小值
ch14_3 <- function()
{
    x1 <- scan("C:/Users/veryv/OneDrive/桌面/Exercise.txt", sep = ",")
    cat("Sum=", sum(x1), "\n")
    cat("Mean=", mean(x1), "\n")
    cat("Max=", max(x1), "\n")
    cat("Min=", min(x1))
}
4.參考前例,將執行結果輸入exer14_3.txt
ch14_4 <- function()
{
    x1 <- scan("C:/Users/veryv/OneDrive/桌面/Exercise.txt", sep = ",")
    cat("Sum=", sum(x1),"\n","Mean=", mean(x1),"\n",
        "Max=", max(x1),"\n","Min=", min(x1),file = "~/exer14_3.txt")
}
5.讀取茶銷售量excel表並計算:各茶種年度總銷售量、各茶種年度總銷售額、各業務員年度總銷售額
ch14_5 <- function( )
{
    excel <- file.path("C:/Users/veryv/OneDrive/桌面/Test.csv")
    xCSV <- read.csv(excel, sep = ",")
    tea.info <- matrix(c(tapply(xCSV$Quantity, xCSV$Product, sum),
                         tapply(xCSV$Revenue, xCSV$Product, sum)),
                       nrow = 2, byrow = T)
    colnames(tea.info) <- c("BlackTea ", "Green Tea")
    rownames(tea.info) <- c("year_quant", "year_rev")
    Sales <- tapply(xCSV$Revenue, xCSV$Name, sum)
    answer <- list(TeaInfo = tea.info, RevBySales = Sales)
    print(answer)
}



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

季寧談管理讀後感

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