2021年1月10日 星期日

內楗術

鬼谷子的縱橫之術以前就賣過書籍來看,只不過當時太年經了看不是很懂,記得這本書目前還在書架上,而這本書記得在台北的時候就賣了,當時記得在高雄買的,但直到台中後才看懂捭闔之術,但也只是捭術,今天要睡覺前看YT有人講內楗術,記得在哪本書也看過,但看不懂透過YT似乎了解甚麼式內楗術。

內楗術可分為兩個字來看,就內取得別人對你的信任;楗就是對別人出謀劃策;原文的意思要取得別人的信任猶如開一閃門進入別人的內心,也就是取得別人的信任;而楗就門的門栓意在為他人出謀劃策。

所以內楗術的第一步就是內取得他人的信任,才能進行楗出謀劃策;而要取得別人的信任是一件不容易的事,因此你必須評估別人的喜好及心裡想要甚麼,而要取得一個人的信任,依鬼谷子有四種方向包含道德、結黨、財貨、美色等四種管道來取得他人對你的信任,而實際應用範例可用一下春秋時代一個故事來說

春秋時代中山王有兩個妃子,而中山王想要冊封皇后其中陰姬想要當皇后,此時來請教司馬喜病有重謝,司馬喜並沒有立即跟中山王建議要冊封陰姬為皇后,而跟中山王說他知道如何讓中山國強盛鄰國衰弱之法,中山王聽完大為高興並請教司馬喜如何實施,司馬喜說他必須對照國考察風土民情及軍事重地,回來後才能制定詳細計畫,中山王聽完即付重金給司馬喜去趙國考察。
去趙國拜會趙王說,聽說趙國出美女但來了多日並無美女,而本國陰姬妃子是如何的傾國傾城,好色的趙王聽了心動了,司馬熹回中山國後跟中山王說,趙王根本是個混蛋貪圖大王妃子陰姬的美色,想占為己有,若我們不給我門又打不過趙王,若給了大王又會被諸國貽笑,解決此辦法可將陰姬冊封為皇后,若趙王強行要陰姬也會被諸國批評毫無道德感,連別國的皇后也搶,中山王聽完大為高興並冊封陰姬為皇后。

上述的例子可以看到陰姬想要皇后、中山王想要國家富強、趙王貪圖美色,這三人內心想要的東西及慾望,司馬熹利用他們想要的東西取得他們的信任,並使用連環計讓陰姬獲得他想要,並創造中山國的危機,讓中山王緊張司馬熹巧妙解決。

雖說這是一個內楗術典型的案例,但在真實的世界要取得他人的信任並不是很容易,所以鬼谷子說
內者,進說辭也
楗者,楗所謀也

內者要取得別人的信任必須持續評估他人的內心及他們想要的,當你認為它們想要的東西評估錯時,必須等待時間及環境的變化,以觀察真正它們的內心,而時間及環境的變化會刺激當事者的內心,因此必須等待觀察不用急於出謀劃策,也就是下列兩句話
欲說者務隱度(內者持續平他人想要)
計事者務循順(順者他人言語,在改變他人的意圖,可用以下故事)

戰國齊國有依讀書人很會養鳥,被齊景王召入宮邦齊景王養鳥,有一天齊景王最心愛的鳥因養鳥人不慎讓鳥飛了,齊景勃然大怒要把養鳥人給殺了,此時,晏嬰說養鳥人有罪三條,第一條鳥飛走為一罪,二罪讓世人知道大王因鳥要殺讀書人,三罪畜生比人還重要以後如何有才幹的人敢進齊國做事,齊景王聽懂利害關係就放了養鳥人。

上述就是循順,先順者對方的言語講,到後面在闡述厲害之關係,應用在現實的社會大家都喜歡有人力挺的感覺。
當然取得他人的信任後,所出謀劃策必須可行



如何使用R分析資料

今年三月參加IT幫邦忙鐵人賽完成一個月對R的分析初探,老實說當初對探索式分析
並不是很了解,只是對語法有認知但對於內部的核心你說不懂嗎?好像又懂!
所以在中午吃飯時瀏覽網頁看到R部落格中一篇文章,將dplyr很有架構說了一遍並配合程式範例,比我之前懵懵懂懂更能理解dplyr。

dplyr包含select、filter、arrange、summarize、_group_by等五個語法組合應用,對於內涵而言就是探索式分析,當然這是大數據的語言聽起來很有學問,其實就已起的T-SQL語法,寫過程式的人都知道,若是不式重新開發的系統,一定會有資料庫,程式設計師一定會去看資料庫,從每筆紀錄來了解每個欄位的意義,若是有統計看是哪一個欄位進行次數或數字的加總。

專案經理或系統分析師會從更大的視角來看所有的資料,來發現使用系統的單位所面臨的現況及業務真實的情況,但T-SQL語法有時用起來很僵化使用起來並直覺,下一個指令想半天,所以R提拱五個指令就可以優游於資料當中,並從資料發現你像要有的資訊,並提供業主更有用的資訊或是將發現後的結果經業主認同開發出儀表板系統,讓他們可以知道能了解業務有用的資訊。

這就是探索式分析在商業有用的價值,要不學了R語言也不知要幹麼?這也是目前資料倉儲很多軟體所提供的功能,今天透過範例再度了解R探索式分析。

這一次採用的資料集為gapminder,該資料夾為針對142個國家/地區中的每個國家/地區,提供了從1952年到2007年的每五年預期壽命,人均GDP和人口值。

第一步:安裝套件,並觀看資料內容
library(dplyr)
library(gapminder)
head(gapminder)

從圖上來看總共有六個變數

第二步:資料表列的選擇
gapminder %>% select(country,year,pop)

但是,如果您有幾十個列,並且只有其中幾列不需要其他都需要,該怎麼辦?有一種更好的方法–用負號(-)作為前綴指定不需要的列:
gapminder %>% select(-gapminder$continent)

如您所見,“ 大陸” 列是唯一未顯示的列。這就是您有關列選擇的全部知識。讓我們繼續進行數據過濾。

第三步:資料篩選
過濾數據集是您在工作中最常用的操作之一。並非在給定時間所有數據都相關。有時您需要特定產品的價值或其在第一季度的銷售數字。或兩者。那就是filter()功能派上用場了。
gapminder %>% select( country , year , lifeExp ) %>% 
  filter( year == 2007)
您可以將多個過濾條件嵌套在一個內部 filter()功能。只要確保用逗號分隔條件即可。以下是為波蘭選擇2007年的方法:
gapminder %>% select(country,year,lifeExp) %>% 
  filter(year == 2007,country == "Poland")
但是,如果您想要多個國家/地區的結果呢?您可以使用
%)
任務的關鍵字。下面的程式碼段顯示了2007年波蘭和克羅地亞的記錄:
gapminder %>% select(country,year,lifeExp) %>% 
  filter(year == 2007,country %in% c("Poland","Croatia"))
如果您理解這些範例,那麼您將了解數據過濾。讓我們繼續進行數據排序。

第四步:數據排序
有時您希望數據按特定列的值排序。例如,您可能希望按年齡升序或降序對用戶或分數進行排序。您可以輕鬆實現此行為
dplyr
 –
arrange()內置 功能。
gapminder %>% select(country,year,lifeExp) %>% 
  filter(year == 2007) %>% arrange(lifeExp)
如您所見,數據由lifeExp 列升序排列 大多數情況下需要降序排列。實施方法如下:
gapminder %>% select(country,year,lifeExp) %>% 
  filter(year == 2007) %>% arrange(desc(lifeExp))
有時您只希望返回幾行。
top_n ()
函數使您可以指定應顯示多少行。這是一個例子:
gapminder %>% select(country,year,pop,gdpPercap) %>% 
  filter(year == 2007) %>% mutate(gdp=pop*gdpPercap) %>% 
  arrange(desc(gdp)) %>% top_n(5)

就訂購而言就是這樣。下一步–派生列。

第五步:建立計算結果欄位
用 dplyr,您可以使用 mutate()函數來創建新屬性。新的屬性名稱位於等號的左側,內容位於右側–就像聲明變量一樣。

以下示例將GDP計算為人口與人均GDP的乘積,並將其存儲在專用列中。在此過程中進行了其他一些轉換:
gapminder %>% select(country,year,pop,gdpPercap) %>% 
  filter(year == 2007) %>% 
  transmute(gdp = pop * gdpPercap) %>% 
  arrange(desc(gdp)) %>% 
  top_n(5)

代替 mutate(),您也可以使用 transmute()。有一個嚴重的區別–transmute()僅保留派生列。讓我們在上面的示例中使用它:
gapminder %>% summarise(avgLifeExp = mean(lifeExp))


第六步:
計算匯總統計
摘要統計不需要任何介紹。在許多情況下,您需要計算列的簡單平均值。以下是計算整個數據集的平均預期壽命的方法:
gapminder %>% filter(year == 2007,continent == "Europe") %>% 
  summarise(avgLifeExp=mean(lifeExp))

第七步:分組
與分組結合使用時,摘要統計信息將變得更加強大。例如,您可以使用
group_by ()
函數計算每個大陸的平均預期壽命。這是如何做:
gapminder %>% filter(year == 2007) %>% 
  group_by(continent) %>% 
  summarise(avgLifeExp = mean(lifeExp)) %>% 
  arrange(desc(avgLifeExp))

另一個強大的功能是 if_else ()。在創建其值取決於某些條件的新列時,可以使用它。

例如,以下是創建名為over75的列的 方法, 如果一個大陸的平均預期壽命超過75,則其值為 Y,  否則為N:
gapminder %>% filter(year == 2007) %>% 
  group_by(continent) %>% 
  summarise(avgLifeExp = mean(lifeExp)) %>% 
  mutate(over75 = if_else(avgLifeExp>75,"Y","N"))



結論

您已經了解瞭如何使用R來分析數據 dplyr。它是目前對開發人員最友好的軟件包之一,比Python競爭對手Pandas簡單得多。 

閱讀本文後,您應該能夠分析和準備任何類型的數據集。當然,您可以做更高級的事情,但是通常這些只是您今天學到的東西的組合。












無現金支付的反思!

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