#0301上課程式碼:
#資料(data)、值(valus)、變數(varible)、物件(object)
# R 是以物件導向為主的程式語言, 在R中每一樣 “東西”, 都可視為 “物件”(object),
##一、R語言資料集合:
#1.向量(vector)
#2.清單(list)
#3.矩陣(matrix)
#4.陣列(array)
#5.因子(factor)
#6.資料框(dataframe)
# 資料分析基本上是 :產生資料物件、命名、使用函式對物件運算操作
#建立向量資料====
id <- c("001", "002","003","004","005")
name <- c("superman", "batman", "spiderman", "wolverine", "wonderwoman")
height <- c(190, 188, 178, 150, 183)
weight <- c(102, 95, 76, 88, 59)
gender <- c("Male", "Male","Male","Male","Female")
#二、R 的最基本物件是向量====
# 向量是由包含相同 “模式” 的元素 (element) 組成,
# 向量物件的基本元素的類型(basic mode) 主要分成
# 六大向量(vector)類型
# 1.數值向量(numeric):包含 "integer", 整數型向量 與 "double", 倍精確度型向量。
# 2.整數向量(integer)
# 3.文字向量(character)
# 4.邏輯值向量(logical)
# 5.日期向量(Date)
# 6.日期時間向量(POSIXct)
#用class()查詢資料類型====
class(name)
## [1] "character"
class(height)
## [1] "numeric"
class(gender)
## [1] "character"
class(id)
## [1] "character"
class(height)
## [1] "numeric"
q <- height > 170
q
## [1] TRUE TRUE TRUE FALSE TRUE
class(q)
## [1] "logical"
#str()查看資料結構====
#summary()查看變數統計量
summary(name)
## Length Class Mode
## 5 character character
summary(height)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 150.0 178.0 183.0 177.8 188.0 190.0
#用[ ]取出向量資料
name
## [1] "superman" "batman" "spiderman" "wolverine" "wonderwoman"
name[2]
## [1] "batman"
name[3:5]
## [1] "spiderman" "wolverine" "wonderwoman"
name[-1]
## [1] "batman" "spiderman" "wolverine" "wonderwoman"
name[-c(1,3,5)]
## [1] "batman" "wolverine"
height
## [1] 190 188 178 150 183
height[height > 170]
## [1] 190 188 178 183
#將向量資料組合為data frame(數據框)
heroes <- data.frame(id,gender, height, weight, name)
#顯示在console區
heroes
## id gender height weight name
## 1 001 Male 190 102 superman
## 2 002 Male 188 95 batman
## 3 003 Male 178 76 spiderman
## 4 004 Male 150 88 wolverine
## 5 005 Female 183 59 wonderwoman
#看資料結構
str(heroes)
## 'data.frame': 5 obs. of 5 variables:
## $ id : chr "001" "002" "003" "004" ...
## $ gender: chr "Male" "Male" "Male" "Male" ...
## $ height: num 190 188 178 150 183
## $ weight: num 102 95 76 88 59
## $ name : chr "superman" "batman" "spiderman" "wolverine" ...
#看摘要
summary(heroes)
## id gender height weight
## Length:5 Length:5 Min. :150.0 Min. : 59
## Class :character Class :character 1st Qu.:178.0 1st Qu.: 76
## Mode :character Mode :character Median :183.0 Median : 88
## Mean :177.8 Mean : 84
## 3rd Qu.:188.0 3rd Qu.: 95
## Max. :190.0 Max. :102
## name
## Length:5
## Class :character
## Mode :character
##
##
##
##存成.RData格式====
save(heroes, file = "heroes.RData")
#清空物件,然後再讀取一次.RData
load("heroes.RData")
###用[ ] 取出data frame中的資料, 其中[ 列, 欄]====
heroes[2, ]#取出第二列資料
## id gender height weight name
## 2 002 Male 188 95 batman
heroes[,2]#取出第二欄資料
## [1] "Male" "Male" "Male" "Male" "Female"
heroes[5,]##取出第五列
## id gender height weight name
## 5 005 Female 183 59 wonderwoman
heroes[3,4]##取出第三列第四欄資料
## [1] 76
#用欄位名稱取出某欄的資料,有兩種方法:
heroes[["name"]]
## [1] "superman" "batman" "spiderman" "wolverine" "wonderwoman"
##或是
heroes$name
## [1] "superman" "batman" "spiderman" "wolverine" "wonderwoman"
heroes$height
## [1] 190 188 178 150 183
mean(heroes$height)
## [1] 177.8
heroes[1:3,]
## id gender height weight name
## 1 001 Male 190 102 superman
## 2 002 Male 188 95 batman
## 3 003 Male 178 76 spiderman
heroes[heroes$name=="spiderman",]#找出名字為"spiderman"的所有資料
## id gender height weight name
## 3 003 Male 178 76 spiderman
heroes[heroes$name!="spiderman",]#找出除了"spiderman"以外的所有資料
## id gender height weight name
## 1 001 Male 190 102 superman
## 2 002 Male 188 95 batman
## 4 004 Male 150 88 wolverine
## 5 005 Female 183 59 wonderwoman
heroes[heroes$height>180,]#找出身高大於180的所有資料
## id gender height weight name
## 1 001 Male 190 102 superman
## 2 002 Male 188 95 batman
## 5 005 Female 183 59 wonderwoman
heroes$height
## [1] 190 188 178 150 183
sort(heroes$height)#排序由小到大
## [1] 150 178 183 188 190
sort(heroes$height, decreasing = T)#排序由大到小
## [1] 190 188 183 178 150
#畫圖一
barplot(sort(heroes$height, decreasing = T))

#畫圖二
barplot(sort(heroes$height, decreasing = T),#要畫圖的向量資料
main = "Heroes", #大標題
sub = "by Peter Liu", #次標題
names.arg = c("superman", "batman", "spiderman", "wonderwoman", "wolverine"), #資料名稱
xlab = "name", #x軸標籤
ylab = "height", #y軸標籤
col = c(6:10))#使用內建第6至10號顏色, colors(查詢R內建顏色)

# 亞洲四小龍(Four Asian Tigers)====
# https://zh.wikipedia.org/wiki/%E4%BA%9A%E6%B4%B2%E5%9B%9B%E5%B0%8F%E9%BE%99
#建立資料
nation <- c("Korea","Taiwan","Hong kong","Singapore")
growth <- c(0.36,0.28,0.83,1.40)
#合併nation和growth為data frame
data <- data.frame(nation,growth)
#畫長條圖
barplot(sort(data$growth, decreasing = T),#要畫圖的向量資料
main = "Four Asian Tigers", #大標題
sub = "by Peter Liu", #次標題
names.arg = c("Singapore","Hong kong","Korea","Taiwan"), #資料名稱
xlab = "nation", #x軸標籤
ylab = "Natural popuiation Growth", #y軸標籤
col = c(11:14))#使用內建第11至14號顏色, colors(查詢R內建顏色)

###資料組合與切割====
df <- iris
#檢視資料
#查看完整資料
#查看資料結構
str(df)
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
#查看資料摘要
summary(df)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
#查看資料欄位名稱
names(df)
## [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species"
#查看第三欄,第1到10筆資料
df[1:10,3]
## [1] 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5
#查看欄位名稱為(Species)的資料
df$Species
## [1] setosa setosa setosa setosa setosa setosa
## [7] setosa setosa setosa setosa setosa setosa
## [13] setosa setosa setosa setosa setosa setosa
## [19] setosa setosa setosa setosa setosa setosa
## [25] setosa setosa setosa setosa setosa setosa
## [31] setosa setosa setosa setosa setosa setosa
## [37] setosa setosa setosa setosa setosa setosa
## [43] setosa setosa setosa setosa setosa setosa
## [49] setosa setosa versicolor versicolor versicolor versicolor
## [55] versicolor versicolor versicolor versicolor versicolor versicolor
## [61] versicolor versicolor versicolor versicolor versicolor versicolor
## [67] versicolor versicolor versicolor versicolor versicolor versicolor
## [73] versicolor versicolor versicolor versicolor versicolor versicolor
## [79] versicolor versicolor versicolor versicolor versicolor versicolor
## [85] versicolor versicolor versicolor versicolor versicolor versicolor
## [91] versicolor versicolor versicolor versicolor versicolor versicolor
## [97] versicolor versicolor versicolor versicolor virginica virginica
## [103] virginica virginica virginica virginica virginica virginica
## [109] virginica virginica virginica virginica virginica virginica
## [115] virginica virginica virginica virginica virginica virginica
## [121] virginica virginica virginica virginica virginica virginica
## [127] virginica virginica virginica virginica virginica virginica
## [133] virginica virginica virginica virginica virginica virginica
## [139] virginica virginica virginica virginica virginica virginica
## [145] virginica virginica virginica virginica virginica virginica
## Levels: setosa versicolor virginica
#修改欄位名稱, 請填入"花萼長", "花萼寬", "花瓣長", "花瓣寬", "品種")
names(df) <- c("花萼長","花萼寬","花瓣長","花瓣寬","品種")
#找出"花萼長"大於等於7的所有資料
df[df$花萼長>7,]
## 花萼長 花萼寬 花瓣長 花瓣寬 品種
## 103 7.1 3.0 5.9 2.1 virginica
## 106 7.6 3.0 6.6 2.1 virginica
## 108 7.3 2.9 6.3 1.8 virginica
## 110 7.2 3.6 6.1 2.5 virginica
## 118 7.7 3.8 6.7 2.2 virginica
## 119 7.7 2.6 6.9 2.3 virginica
## 123 7.7 2.8 6.7 2.0 virginica
## 126 7.2 3.2 6.0 1.8 virginica
## 130 7.2 3.0 5.8 1.6 virginica
## 131 7.4 2.8 6.1 1.9 virginica
## 132 7.9 3.8 6.4 2.0 virginica
## 136 7.7 3.0 6.1 2.3 virginica
#計算"花萼長"大於等於7的資料有幾筆?
nrow( df[df$花萼長>7,])
## [1] 12
#查看「品種」欄位為setosa資料
df[df$品種=="setosa",]
## 花萼長 花萼寬 花瓣長 花瓣寬 品種
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5.0 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## 11 5.4 3.7 1.5 0.2 setosa
## 12 4.8 3.4 1.6 0.2 setosa
## 13 4.8 3.0 1.4 0.1 setosa
## 14 4.3 3.0 1.1 0.1 setosa
## 15 5.8 4.0 1.2 0.2 setosa
## 16 5.7 4.4 1.5 0.4 setosa
## 17 5.4 3.9 1.3 0.4 setosa
## 18 5.1 3.5 1.4 0.3 setosa
## 19 5.7 3.8 1.7 0.3 setosa
## 20 5.1 3.8 1.5 0.3 setosa
## 21 5.4 3.4 1.7 0.2 setosa
## 22 5.1 3.7 1.5 0.4 setosa
## 23 4.6 3.6 1.0 0.2 setosa
## 24 5.1 3.3 1.7 0.5 setosa
## 25 4.8 3.4 1.9 0.2 setosa
## 26 5.0 3.0 1.6 0.2 setosa
## 27 5.0 3.4 1.6 0.4 setosa
## 28 5.2 3.5 1.5 0.2 setosa
## 29 5.2 3.4 1.4 0.2 setosa
## 30 4.7 3.2 1.6 0.2 setosa
## 31 4.8 3.1 1.6 0.2 setosa
## 32 5.4 3.4 1.5 0.4 setosa
## 33 5.2 4.1 1.5 0.1 setosa
## 34 5.5 4.2 1.4 0.2 setosa
## 35 4.9 3.1 1.5 0.2 setosa
## 36 5.0 3.2 1.2 0.2 setosa
## 37 5.5 3.5 1.3 0.2 setosa
## 38 4.9 3.6 1.4 0.1 setosa
## 39 4.4 3.0 1.3 0.2 setosa
## 40 5.1 3.4 1.5 0.2 setosa
## 41 5.0 3.5 1.3 0.3 setosa
## 42 4.5 2.3 1.3 0.3 setosa
## 43 4.4 3.2 1.3 0.2 setosa
## 44 5.0 3.5 1.6 0.6 setosa
## 45 5.1 3.8 1.9 0.4 setosa
## 46 4.8 3.0 1.4 0.3 setosa
## 47 5.1 3.8 1.6 0.2 setosa
## 48 4.6 3.2 1.4 0.2 setosa
## 49 5.3 3.7 1.5 0.2 setosa
## 50 5.0 3.3 1.4 0.2 setosa
#將[品種]欄位中為setosa資料,另存成一個物件(df_setosa),
df_setosa <- df[df$品種=="setosa",]
#將物件(df_setosa)另存為.RData格式
save(df_setosa,file="df_setosa.RData")
#測驗====
#讀取heroes_stats.RData
load("heroes_stats.RData")
#檢視資料
#查看完整資料
#查看資料結構
str(heroes_stats)
## Classes 'spec_tbl_df', 'tbl_df', 'tbl' and 'data.frame': 428 obs. of 9 variables:
## $ Name : chr "3-D Man" "A-Bomb" "Abe Sapien" "Abin Sur" ...
## $ Alignment : Factor w/ 3 levels "bad","good","neutral": 2 2 2 2 1 1 2 2 2 1 ...
## $ Intelligence: num 50 38 88 50 63 88 63 10 75 50 ...
## $ Strength : num 31 100 14 90 80 100 10 8 28 85 ...
## $ Speed : num 43 17 35 53 53 83 12 13 38 100 ...
## $ Durability : num 32 80 42 64 90 99 100 5 80 85 ...
## $ Power : num 25 17 35 84 55 100 71 5 72 100 ...
## $ Combat : num 52 64 85 65 95 56 64 20 95 40 ...
## $ Total : num 233 316 299 406 436 526 320 61 388 460 ...
## - attr(*, "spec")=List of 3
## ..$ cols :List of 9
## .. ..$ Name : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ Alignment : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
## .. ..$ Intelligence: list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ Strength : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ Speed : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ Durability : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ Power : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ Combat : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## .. ..$ Total : list()
## .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
## ..$ default: list()
## .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
## ..$ delim : chr ","
## ..- attr(*, "class")= chr "col_spec"
## - attr(*, "problems")=<externalptr>
#查看資料摘要
summary(heroes_stats)
## Name Alignment Intelligence Strength
## Length:428 bad :121 Min. : 6.00 Min. : 4.00
## Class :character good :296 1st Qu.: 50.00 1st Qu.: 10.00
## Mode :character neutral: 11 Median : 63.00 Median : 32.00
## Mean : 62.69 Mean : 40.78
## 3rd Qu.: 75.00 3rd Qu.: 73.50
## Max. :113.00 Max. :100.00
## Speed Durability Power Combat
## Min. : 8.00 Min. : 5.00 Min. : 5.00 Min. : 6.00
## 1st Qu.: 23.00 1st Qu.: 28.00 1st Qu.: 34.00 1st Qu.: 42.00
## Median : 33.00 Median : 58.00 Median : 57.50 Median : 64.00
## Mean : 38.36 Mean : 59.00 Mean : 57.06 Mean : 60.76
## 3rd Qu.: 50.00 3rd Qu.: 89.25 3rd Qu.: 75.25 3rd Qu.: 80.00
## Max. :100.00 Max. :120.00 Max. :100.00 Max. :101.00
## Total
## Min. : 61.0
## 1st Qu.:240.5
## Median :306.0
## Mean :318.7
## 3rd Qu.:384.5
## Max. :581.0
#查看資料欄位名稱
names(heroes_stats)
## [1] "Name" "Alignment" "Intelligence" "Strength" "Speed"
## [6] "Durability" "Power" "Combat" "Total"
#查看第一、二、九欄,第1到5筆資料
heroes_stats[1:5,1]
## [1] "3-D Man" "A-Bomb" "Abe Sapien" "Abin Sur" "Abomination"
heroes_stats[1:5,2]
## [1] good good good good bad
## Levels: bad good neutral
heroes_stats[1:5,9]
## [1] 233 316 299 406 436
#查看欄位名稱為Alignment的資料
heroes_stats$Alignment
## [1] good good good good bad bad good good good
## [10] bad good good bad good good good bad good
## [19] good bad bad good good good good bad good
## [28] good good good good good bad good bad good
## [37] good good good good good good good good good
## [46] good good good good bad good good good neutral
## [55] bad good good good good bad good good bad
## [64] bad good good good bad bad bad good good
## [73] good good good bad good bad good good good
## [82] bad good good good good good good bad good
## [91] good good bad bad good good good good good
## [100] good bad good good good good good good bad
## [109] good good good good neutral bad good neutral bad
## [118] bad good good bad good good good bad bad
## [127] bad good bad good bad good bad good good
## [136] bad bad good bad bad good good good good
## [145] good good good good good good good bad neutral
## [154] good good bad good bad bad bad good good
## [163] good bad bad good good good good bad good
## [172] good good good good good good good good good
## [181] good good good good bad good good good good
## [190] good good good bad good good good good good
## [199] good good good good bad good good neutral bad
## [208] good bad bad good good bad good bad bad
## [217] good bad bad good bad good bad good good
## [226] bad bad bad bad bad good good good bad
## [235] good bad good bad neutral good good bad good
## [244] good good bad good good bad good good good
## [253] bad good bad good good good good good good
## [262] good bad bad bad good good good bad bad
## [271] good good good good bad bad good good good
## [280] good good good good good good good good good
## [289] bad good good bad good good good good bad
## [298] bad good good bad good bad good good good
## [307] bad good neutral good neutral good bad good bad
## [316] good bad bad bad good good good good good
## [325] good good bad good neutral good good bad good
## [334] good bad bad bad good good good good good
## [343] good bad good good good good bad bad bad
## [352] good good good bad good good good good good
## [361] good good good good good good good good good
## [370] good good good bad good good bad bad good
## [379] good bad good neutral good good good good good
## [388] good bad good bad neutral good good bad good
## [397] bad bad bad bad bad bad good good good
## [406] bad bad good good bad good good good good
## [415] bad good good good good good good good good
## [424] good good good good bad
## Levels: bad good neutral
#找出"Power"大於95的所有資料
heroes_stats[heroes_stats$Power>95,]
## Name Alignment Intelligence Strength Speed Durability Power
## 6 Abraxas bad 88 100 83 99 100
## 10 Air-Walker bad 50 85 100 85 100
## 11 Alan Scott good 63 80 23 90 98
## 13 Amazo bad 75 100 100 100 100
## 20 Anti-Monitor bad 88 90 38 90 100
## 21 Apocalypse bad 100 100 33 100 100
## 46 Beta Ray Bill good 63 80 35 95 100
## 47 Beyonder good 88 100 23 100 100
## 56 Black Bolt good 75 67 100 84 100
## 72 Blue Beetle III good 50 34 58 80 97
## 81 Cable good 88 48 23 56 100
## 101 Cyborg Superman bad 75 93 92 100 100
## 108 Darkseid bad 88 100 23 100 100
## 112 Deadman good 50 10 33 100 100
## 113 Deadpool neutral 50 15 30 100 100
## 122 Doctor Fate good 81 16 25 80 100
## 123 Doctor Strange good 100 10 12 84 100
## 125 Doomsday bad 88 80 67 120 100
## 127 Dormammu bad 88 95 83 100 100
## 128 Dr Manhattan good 88 32 42 95 100
## 137 Exodus bad 63 81 28 28 100
## 139 Fallen One II bad 88 85 83 100 100
## 146 Firestorm good 50 53 58 56 100
## 153 Galactus neutral 100 100 83 100 100
## 161 Goku good 56 100 75 90 100
## 167 Guy Gardner good 38 80 27 64 97
## 168 Hal Jordan good 63 90 53 64 100
## 187 Iceman good 63 32 53 100 100
## 192 Iron Man good 100 85 58 85 100
## 197 Jean Grey good 100 80 67 100 100
## 210 Kevin 11 bad 25 7 12 14 100
## 214 Kilowog good 81 90 53 42 100
## 238 Magus bad 88 100 70 99 100
## 240 Man-Thing good 50 32 8 100 98
## 242 Mandarin bad 100 28 23 28 99
## 243 Martian Manhunter good 100 100 96 100 100
## 244 Marvel Girl good 63 85 47 42 100
## 253 Mephisto bad 88 85 35 95 100
## 261 Miss Martian good 63 85 58 100 100
## 264 Mister Mxyzptlk bad 113 10 12 14 100
## 279 Naruto Uzumaki good 50 80 32 80 100
## 286 Nova good 100 85 67 101 100
## 287 Nova good 38 60 100 100 100
## 288 Offspring good 50 10 35 99 100
## 289 Onslaught bad 88 85 47 100 100
## 295 Phoenix good 100 80 67 100 100
## 296 Plastic Man good 50 63 23 100 100
## 338 Sentry good 75 80 58 84 97
## 339 Shadow King good 75 12 27 100 100
## 347 Silver Surfer good 63 100 84 101 100
## 349 Sinestro bad 75 80 53 64 100
## 358 Spawn good 75 60 50 90 100
## 364 Stardust good 88 85 100 110 100
## 373 Superboy-Prime bad 94 100 100 100 100
## 380 Thanos bad 88 100 17 100 100
## 384 Thor good 69 100 92 100 100
## 385 Thor Girl good 75 83 70 84 100
## 397 Ultron bad 88 83 42 100 100
## 408 War Machine good 63 80 63 100 100
## 413 Watcher good 100 80 67 89 100
## 427 Zatanna good 75 10 23 28 100
## Combat Total
## 6 56 526
## 10 40 460
## 11 32 386
## 13 100 575
## 20 90 496
## 21 60 493
## 46 84 457
## 47 56 467
## 56 56 482
## 72 30 349
## 81 80 395
## 101 80 540
## 108 95 506
## 112 42 335
## 113 100 395
## 122 50 352
## 123 60 366
## 125 90 545
## 127 80 546
## 128 42 399
## 137 70 370
## 139 56 512
## 146 42 359
## 153 70 553
## 161 100 521
## 167 64 370
## 168 56 426
## 187 64 412
## 192 64 492
## 197 70 517
## 210 40 198
## 214 80 446
## 238 74 531
## 240 40 328
## 242 95 373
## 243 85 581
## 244 80 417
## 253 42 445
## 261 45 451
## 264 28 277
## 279 100 442
## 286 85 538
## 287 25 423
## 288 56 350
## 289 85 505
## 295 70 517
## 296 56 392
## 338 54 448
## 339 75 389
## 347 32 480
## 349 56 428
## 358 95 470
## 364 85 568
## 373 85 579
## 380 80 485
## 384 85 546
## 385 70 482
## 397 64 477
## 408 85 491
## 413 56 492
## 427 56 292
#計算""Power"大於95的的資料有幾筆?
nrow( heroes_stats[heroes_stats$Power>95,])
## [1] 61
#修改欄位名稱為中文
names(heroes_stats) <- c("名稱","結盟","智力","抵抗力","速度","耐力","力量","戰力","總和")
#查看欄位名稱為Alignment的資料
heroes_stats$結盟
## [1] good good good good bad bad good good good
## [10] bad good good bad good good good bad good
## [19] good bad bad good good good good bad good
## [28] good good good good good bad good bad good
## [37] good good good good good good good good good
## [46] good good good good bad good good good neutral
## [55] bad good good good good bad good good bad
## [64] bad good good good bad bad bad good good
## [73] good good good bad good bad good good good
## [82] bad good good good good good good bad good
## [91] good good bad bad good good good good good
## [100] good bad good good good good good good bad
## [109] good good good good neutral bad good neutral bad
## [118] bad good good bad good good good bad bad
## [127] bad good bad good bad good bad good good
## [136] bad bad good bad bad good good good good
## [145] good good good good good good good bad neutral
## [154] good good bad good bad bad bad good good
## [163] good bad bad good good good good bad good
## [172] good good good good good good good good good
## [181] good good good good bad good good good good
## [190] good good good bad good good good good good
## [199] good good good good bad good good neutral bad
## [208] good bad bad good good bad good bad bad
## [217] good bad bad good bad good bad good good
## [226] bad bad bad bad bad good good good bad
## [235] good bad good bad neutral good good bad good
## [244] good good bad good good bad good good good
## [253] bad good bad good good good good good good
## [262] good bad bad bad good good good bad bad
## [271] good good good good bad bad good good good
## [280] good good good good good good good good good
## [289] bad good good bad good good good good bad
## [298] bad good good bad good bad good good good
## [307] bad good neutral good neutral good bad good bad
## [316] good bad bad bad good good good good good
## [325] good good bad good neutral good good bad good
## [334] good bad bad bad good good good good good
## [343] good bad good good good good bad bad bad
## [352] good good good bad good good good good good
## [361] good good good good good good good good good
## [370] good good good bad good good bad bad good
## [379] good bad good neutral good good good good good
## [388] good bad good bad neutral good good bad good
## [397] bad bad bad bad bad bad good good good
## [406] bad bad good good bad good good good good
## [415] bad good good good good good good good good
## [424] good good good good bad
## Levels: bad good neutral
#查看[Alignment]欄位中為good資料
heroes_stats[heroes_stats$Alignment=="heroes_good",]
## [1] 名稱 結盟 智力 抵抗力 速度 耐力 力量 戰力 總和
## <0 rows> (or 0-length row.names)
#將[Alignment]欄位中為good資料,另存成一個物件(heroes_good),
heroes_stats <- heroes_stats[heroes_stats$Alignment=="heroes_good",]
#將物件(heroes_good)另存為.RData格式
save(heroes_stats, file = "heroes_stats_setosa")
#[Name]欄位中有"man"的hero
#請選擇五個超級英雄,以長條圖呈現他們的綜合能力值(Total)
heroes <- c("3-D Man","A-Bomb","Abe Sapien","Abin Sur","Abomination")
total<- c(233,316,299,406,436)
data <- data.frame(heroes,total)
barplot(sort(data$total, decreasing = T),#要畫圖的向量資料
main = "綜合能力值", #大標題
sub = "綜合能力值by Charlie", #次標題
names.arg = c("3-D Man","A-Bomb","Abe Sapien","AbinSur","Abomination"), #資料名稱
xlab = "heroes", #x軸標籤
ylab = "total", #y軸標籤
col = c(11:14))
