iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 6
0
AI & Data

[Data Science系列]成為哥布林的那件事-非常粗(初)心者系列 第 6

[Data Science系列]R語言的二維世界-運用矩陣管理帳目(下)-我要成為哥布林富翁

嗨~~各位勇者,昨天本來預計把matrix寫完,之後才發現還有好幾個部分沒談到,因此把上一篇改成(中)篇,這次就真的是(下)篇了。好啦~Let the journey begin!

"恩君,昨天你整理的資料非常好阿~果然大有長進阿" 叔叔開心的說著
"但假如叔叔想要找特定的資料,比如藥水在卡恩村的收入有多少,要是一筆一筆找可真會累壞我阿"

沒問題的,讓我們首先先把前幾天的資料做成矩陣,順便複習一下

potion <- c(251, 542, 982, 112)
armor <- c(234, 321, 121, 872)
weapon <- c(92, 55, 66, 125)
misc <- c(542, 685, 512, 393)
Sales_vector <- rbind(potion, armor, weapon, misc)
place <- c("朱拉大森林", "卡恩村", "魔導國", "邊境小鎮")
colnames(Sales_vector) <- place
Sales_vector

          朱拉大森林 卡恩村 魔導國 邊境小鎮
potion        251    542    982      112
armor         234    321    121      872
weapon         92     55     66      125
misc          542    685    512      393

還記得我們在vector單元的時候用了中括號[]來選要的或不要的數值,同樣的也可以用在矩陣上
先試試把在卡恩村的藥水收入取出來吧

Sales_vector["potion", "卡恩村"]
[1] 542

我們也可以用數字來代替row和column,一樣可以得到要的數值
以(1, 2)來舉列這就代表第一橫行和第二直排

"等等恩君,叔叔資料拿錯了,為了世界的和平,叔叔現在不賣武器和防具了,所以武器和防具是舊資料,要剃除阿"
"還有叔叔還要另一份表格,只要卡恩村及魔導國的銷售表,要給安茲大人的!"

如果需要多個數值,首先叔叔只要potion和misc橫行的部分可以放入c()來做,直排其他部分保留留白就可以了

Sales_vector[c("potion", "misc"), ]

          朱拉大森林 卡恩村 魔導國 邊境小鎮
potion        251    542    982      112
misc          542    685    512      393

給安茲大人的報表,同樣用Sales_vector來做,橫行把要的物品放入c(),直排把地區也放入c()

Sales_vector[c("potion", "misc"), c("卡恩村", "魔導國") 

        卡恩村 魔導國
potion    542    982
misc      685    512

"對了忘記提到進入各個城鎮及森林都必須收過路費,還有還有,各國都要再抽取10%稅金!"

沒問題,首先把過路費輸入進去,這邊我們還是保留武器和防具的資料
朱拉大森林要30金,卡恩村要20金,魔導國要80金,邊境小鎮要10金
做成矩陣後相減,在直接乘10%,就可以知道稅金和最後實際的收入了

tolls <- matrix(c(30, 20, 60, 10), nrow = 4, ncol = 4, byrow = TRUE)

     [,1] [,2] [,3] [,4]
[1,]   30   20   60   10
[2,]   30   20   60   10
[3,]   30   20   60   10
[4,]   30   20   60   10

rev_vector <- Sales_vector - tolls

          朱拉大森林 卡恩村 魔導國 邊境小鎮
potion        221    522    922      102
armor         204    301     61      862
weapon         62     35      6      115
misc          512    665    452      383

rev_vector * 0.1
          朱拉大森林 卡恩村 魔導國 邊境小鎮
potion       22.1   52.2   92.2     10.2
armor        20.4   30.1    6.1     86.2
weapon        6.2    3.5    0.6     11.5
misc         51.2   66.5   45.2     38.3

"注意到了嗎?在這邊,如果相減或相乘都是對應各個數值喔"

好了,矩陣的部分若有更多再從這三篇還補足吧,謝謝大家的收看,明天再繼續努力~


上一篇
[Data Science系列]R語言的二維世界-運用矩陣管理帳目(中)-我要成為哥布林富翁
下一篇
[Data Science系列]運用R語言Factor因子來分析資料-哥布林村的人口激增?
系列文
[Data Science系列]成為哥布林的那件事-非常粗(初)心者30

尚未有邦友留言

立即登入留言