羅德興老師的教學歷程檔案 - 107-1 資訊科技大數據分析 - 期中考試複習 |
|
|
期中考試複習資料檔 [下載]# R 期中考試複習 # This is for R mid-term exam by 學號 10614XXXX 姓名:羅老師 L.D.S. on 2018/11/06 # 範圍 # 一、請練習 base R Cheat Sheet 中的指令、語法,並觀察結果與紀錄 # 二、資料集的第一步 # 三、ch04 數值型的向量物件 # 四、CH03 基礎數學運算 # 一、請練習 base R Cheat Sheet 中的指令、語法,並觀察結果與紀錄 # 1. getting Help 取得輔助 ?mean help.search('weighted mean') # 3. Working Directory 工作目錄 getwd() setwd('C:/Temp') # ********** # 5. Programming 程式設計 # 5.1 for (i in 1:10) { j <- i*5 print(j) } # ********** # 5.4 Functions square <- function(x){ ss2 <- x*x return(ss2) } for (i in 1:5) { j <- i*3 print(square(j)) } # ********** # 6. Reading and Writing Data 讀寫資料 # (1) df2 <- read.table('file002.txt') df2 write.table(df2,'file009.txt') # (2) df3 <-read.csv('sales-1.csv') df3 colnames(df3) # 列出某一欄位數值 df3$零售店名稱 df3$產品序號.1 # Simple Scatter Plots (簡易散佈圖) plot(df3$零售店名稱, df3$銷售額, main="學號 10514DXXX 姓名 XXX 零售店銷售額散佈圖") # Draftsman's or Pairs Scatter Plots (成對散佈圖) pairs(df3[1:6], main = "學號 10514DXXX 姓名 XXX 零售店銷售額成對散佈圖", pch = 21, bg = c("red", "green3", "blue")[unclass(df3$零售店名稱)]) write.csv(df3,'file006.csv') # (3) # save 函數可以將變數儲存於硬碟中: x <- c(1.2, 3.4, 5.6) y <- x ^ 2 save(x, y, file = "xy008.RData") rm(list=ls()) load('xy008.RData') # ********** # 11. Matrixes 矩陣 # 從 x 產生一個 矩陣 # byrow 預設為 FALSE, 為循欄填資料 x <- 1:12 m <- matrix (x, nrow=3,ncol=4) m # ********** # 12. Lists 串列 # list, 可收集不同型態的元素 l2 <- list(x=1:5, y= c('A','B')) l2 l2[[2]] l2[1] # 2 個物件組成矩陣 baskets.NBA2016.Lin <-c(7,8,6,11,9,12) baskets.NBA2016.Jordon <-c(12,8,9,15,7,12) baskets.NBA2016.Team <- rbind(baskets.NBA2016.Lin, baskets.NBA2016.Jordon) baskets.NBA2016.Team # 建立串列- 物件元素不含名稱 baskets.Cal <- list("加州", "2016-2017", baskets.NBA2016.Team) baskets.Cal # 建立串列- 物件元素含名稱 baskets.Cal2 <- list(Teamname= "加州", Season= "2016-2017", score.Info= baskets.NBA2016.Team) # 8-1-3 處理串列內物件元素名稱 names(baskets.Cal) names(baskets.Cal2) # 命名串列內物件元素名稱 names(baskets.Cal)[1]= "TName" # 獲得串列中的物件元素個數 length(baskets.Cal) # 獲得串列中的物件元素內容 # 8*2-1 使用 "$" 取得串列中的的物件元素內容 baskets.Cal2$Teamname baskets.Cal2$Season baskets.Cal2$score.Info baskets.Cal2$score.Info[2, 4] baskets.Cal2$score.Info[1, 5] # 8*2-2 使用 "[[]]" 取得串列中的的物件元素內容 baskets.Cal2[[1]] baskets.Cal2[[2]] baskets.Cal2[[3]] baskets.Cal2[[3]][1, 5] # ********** # 二、資料集的第一步 # data() 看有哪些資料集 require (datasets) data() head(airquality) iris # 看欄位名稱 colnames(iris) # 列出某一欄位數值 iris$Petal.Length # Simple Scatter Plots (簡易散佈圖) plot(iris$Petal.Length, iris$Petal.Width, main="Edgar Anderson's Iris Data") # This works by using c(23,24,25) to create a vector, and then selecting elements 1, 2 or 3 from it. How? unclass(iris$Species) turns the list of species from a list of categories (a "factor" data type in R terminology) into a list of ones, twos and threes: c(23,24,25)[unclass(iris$Species)] # We can do the same trick to generate a list of colours, and use this on our scatter plot: plot(iris$Petal.Length, iris$Petal.Width, pch=21, bg=c("red","green3","blue")[unclass(iris$Species)], main="Edgar Anderson's Iris Data") # Draftsman's or Pairs Scatter Plots (成對散佈圖) pairs(iris[1:4], main = "Edgar Anderson's Iris Data", pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)]) # 三、ch04 數值型的向量物件 # ch04.R # This is R for numeric vector operations by 學號 10614XXXX 姓名:羅老師 L.D.S. on 2018/10/16 # 4-1 數值型向量物件 # 1. 建立規則型數值向量物件 x <- 1:5 x x <- -1:-7 x x <- 1.5:4.7 x x <- 1:5 y <- x+3 y # Ex1. 請試試其他的運算,如: +,-,*,/... # 2. 向量相加 x <- 1:5 y <- x + 6:10 y # Ex2. 請試試不同長度的向量相加 # 3. 建立向量物件函數 seq() seq(1, 9, by=2) # Ex3. 請試試不加 by 和 by=pi # 4. 重複向量物件 rep() rep(1:3, times= 3, each= 2, length.out= 8) # Ex4. 請試試改變 times (重複次數) , each (每個元素出現次數) 和 length.out (向量元素個數) # 5. 連接向量物件函數 c() x <- c(1, 3, 7, 9, 11) x X# 建立固定長度的向量物件,向量物件元素預設是 0 x <- numeric(10) x # Ex5. 請試試建立 林書豪 Lin 在 2018 年 NBA 賽事的進球數,並列出 # 程式列跨列的處理 # 該列以 +, -, *, / 做結尾 x <- 1:5 y <- x+3 z <- x + + y z # 使用 ( ) 做跨列處理 x <- rep(1:5, times=2, each= 2) x # 使用 " " 做跨列處理 coffee <- "台灣古坑的咖啡 很有名。" coffee # Ex. 請試試看 # 清除環境內的變數,使用 [掃把] 圖示工具,或以下指令 rm (list=ls()) # Ex. 請試試看 # 4-2 常見向量的數學運算函數 # 6. sum(), max(), min(), mean(), # prod(), 計算所有元素的乘積 # cumsum(), cumprod(), cummax(), cummin() # diff() # sort(), rank(), rev() basketball.Lin <- c(7, 8, 6, 11, 9, 12) sum(basketball.Lin) # Ex6. 請試試看其他的數學運算函數 prod(basketball.Lin) # ********** # 四、CH03 基礎數學運算 # 3-2-1 四則運算 x1 = 5 + 6 x1 x2 = x1 + 10 x2 x3 = x2 - x1 x3 # 3-2-2 餘數 和 整除 x = 9 %% 2 x y = 9 %/% 2 y # 3-2-3 次方 或 平方根 x = 3 ** 2 x x = 3 ^ 4 x x = sqrt(64) x # 3-2-4 絕對值 x = -7 y = abs(x) y # 3-2-5 exp() 與 對數 x = exp(1) # 列出自然數 e 的值 x x2 = exp(2) # 列出自然數 e 的2 次方 x2 x3 = exp(0.5) # 列出自然數 e 的0.5 次方 x3 # 對數有兩類型: log (X) 指log e X = ln X,log(X,m) 指 log mX, 或 m=10 時 用 log10(X) x=log(2) x Y= log(2, 10) Y X= log10(2) X z = log(2,2) z # 3-2-6 科學符號 e x <- 1.28 * 10^4 x y <- 1.28e4 y z <- 3.65 * 10^-3 z u <- 6e5 / 3e2 u # 3-2-7 圓周率 與 三角函數 pi x = sin(1.0) x # 3-2-8 四捨五入函數 round(x,digits=k), digit 可以是負值喔! x <- round(98.562, digits = 2) x x <- round(98.562, digits = 1) x # 3-2-9 近似函數有三種: floor(x), ceiling(x), trunc(x) x <- floor (234.56) x x <- ceiling(234.56) x x <- trunc (234.56) x # 3-2-10 階乘函數 x <- factorial(5) x # 3-3 運算優先順序 x <- (5+6) * 8 - 2 x y <- 5+6 * 8 - 2 y # 3-4 無限大 infinity x <- 5/0 x y <- 10 -Inf y
|
|
中華科技大學數位化學習歷程 - 意見反應 |