一、數據讀取windows
> student_score_data<-read.table("C:/Users/wpguoc/Desktop/cnm.csv",sep = ",",header = T) > student_score_data 學生姓名 統計學 數學 營銷學 管理學 會計學 1 張青松 68 85 84 89 86 2 王宇翔 85 91 63 76 66 3 田思雨 74 74 61 80 69 4 徐麗娜 88 100 49 71 66 5 趙瑩瑩 63 82 89 91 85 6 王智強 78 84 51 60 60 7 宋麗媛 90 78 59 72 66 8 袁芳芳 80 100 53 73 70 9 張建國 58 51 79 91 85 10 張志傑 63 70 91 85 82
二、描述性統計app
# 按照學生姓名升序排列 > student_score_data[order(student_score_data$學生姓名),] 學生姓名 統計學 數學 營銷學 管理學 會計學 7 宋麗媛 90 78 59 72 66 3 田思雨 74 74 61 80 69 2 王宇翔 85 91 63 76 66 6 王智強 78 84 51 60 60 4 徐麗娜 88 100 49 71 66 8 袁芳芳 80 100 53 73 70 9 張建國 58 51 79 91 85 1 張青松 68 85 84 89 86 10 張志傑 63 70 91 85 82 5 趙瑩瑩 63 82 89 91 85 # 按照數學成績降序排列 > student_score_data[order(-student_score_data$數學),] 學生姓名 統計學 數學 營銷學 管理學 會計學 4 徐麗娜 88 100 49 71 66 8 袁芳芳 80 100 53 73 70 2 王宇翔 85 91 63 76 66 1 張青松 68 85 84 89 86 6 王智強 78 84 51 60 60 5 趙瑩瑩 63 82 89 91 85 7 宋麗媛 90 78 59 72 66 3 田思雨 74 74 61 80 69 10 張志傑 63 70 91 85 82 9 張建國 58 51 79 91 85 # 按照學生姓名降序排列 > student_score_data[order(student_score_data$學生姓名,decreasing=TRUE),] 學生姓名 統計學 數學 營銷學 管理學 會計學 5 趙瑩瑩 63 82 89 91 85 10 張志傑 63 70 91 85 82 1 張青松 68 85 84 89 86 9 張建國 58 51 79 91 85 8 袁芳芳 80 100 53 73 70 4 徐麗娜 88 100 49 71 66 6 王智強 78 84 51 60 60 2 王宇翔 85 91 63 76 66 3 田思雨 74 74 61 80 69 7 宋麗媛 90 78 59 72 66 # 統計每一個學生的總分將其添加在最後一列 > cbind(student_score_data,total = apply(student_score_data[,2:6],1,sum)) 學生姓名 統計學 數學 營銷學 管理學 會計學 total 1 張青松 68 85 84 89 86 412 2 王宇翔 85 91 63 76 66 381 3 田思雨 74 74 61 80 69 358 4 徐麗娜 88 100 49 71 66 374 5 趙瑩瑩 63 82 89 91 85 410 6 王智強 78 84 51 60 60 333 7 宋麗媛 90 78 59 72 66 365 8 袁芳芳 80 100 53 73 70 376 9 張建國 58 51 79 91 85 364 10 張志傑 63 70 91 85 82 391
# 對全部行求均值 > apply(student_score_data[,2:6], 1,mean) [1] 82.4 76.2 71.6 74.8 82.0 66.6 73.0 75.2 72.8 78.2
三、缺失值的處理函數
> student_score_data_na<-read.table("C:/Users/wpguoc/Desktop/cnm.csv",sep = ",",header = T) > student_score_data_na 學生姓名 統計學 數學 營銷學 管理學 會計學 1 張青松 68 85 84 89 86 2 王宇翔 85 91 63 76 66 3 田思雨 74 74 61 80 69 4 徐麗娜 88 100 49 NA 66 5 趙瑩瑩 63 82 89 91 85 6 王智強 78 84 51 60 60 7 宋麗媛 90 78 59 72 66 8 袁芳芳 80 100 53 73 70 9 張建國 58 NA 79 91 85 10 張志傑 63 70 91 85 82 # 判斷是否有缺失值 > is.na(student_score_data_na) 學生姓名 統計學 數學 營銷學 管理學 會計學 [1,] FALSE FALSE FALSE FALSE FALSE FALSE [2,] FALSE FALSE FALSE FALSE FALSE FALSE [3,] FALSE FALSE FALSE FALSE FALSE FALSE [4,] FALSE FALSE FALSE FALSE TRUE FALSE [5,] FALSE FALSE FALSE FALSE FALSE FALSE [6,] FALSE FALSE FALSE FALSE FALSE FALSE [7,] FALSE FALSE FALSE FALSE FALSE FALSE [8,] FALSE FALSE FALSE FALSE FALSE FALSE [9,] FALSE FALSE TRUE FALSE FALSE FALSE [10,] FALSE FALSE FALSE FALSE FALSE FALSE # 剔除含缺失值的行 > student_score_data_not_na<-na.omit(student_score_data_na) > student_score_data_not_na 學生姓名 統計學 數學 營銷學 管理學 會計學 1 張青松 68 85 84 89 86 2 王宇翔 85 91 63 76 66 3 田思雨 74 74 61 80 69 5 趙瑩瑩 63 82 89 91 85 6 王智強 78 84 51 60 60 7 宋麗媛 90 78 59 72 66 8 袁芳芳 80 100 53 73 70 10 張志傑 63 70 91 85 82
四、自定義函數統計學生成績的平均值、中位數、極差和標準差blog
> myfun<-function(x){ + n<-length(x) + mean<-sum(x) / n + median<-median(x) + r<-max(x) - min(x) + s<-sd(x) + summ<-data.frame(c(mean,median,r,s), + row.names=c("平均數","中位數","極差","標準差")) + names(summ)<-"值" + return(summ) + } # 利用自定義函數描述學生成績表中的統計學學科 > myfun(student_score_data$統計學) 值 平均數 74.70000 中位數 76.00000 極差 32.00000 標準差 11.32402
五、編輯數據集ip
# 重命名 > install.packages("reshape") trying URL 'https://dirichlet.mat.puc.cl/bin/windows/contrib/3.5/reshape_0.8.8.zip' Content type 'application/zip' length 169184 bytes (165 KB) downloaded 165 KB package ‘reshape’ successfully unpacked and MD5 sums checked The downloaded binary packages are in C:\Users\AppData\Local\Temp\RtmpsPCv5O\downloaded_packages > library(reshape) > rename(student_score_data,c(學生姓名="姓名")) 姓名 統計學 數學 營銷學 管理學 會計學 1 張青松 68 85 84 89 86 2 王宇翔 85 91 63 76 66 3 田思雨 74 74 61 80 69 4 徐麗娜 88 100 49 NA 66 5 趙瑩瑩 63 82 89 91 85 6 王智強 78 84 51 60 60 7 宋麗媛 90 78 59 72 66 8 袁芳芳 80 100 53 73 70 9 張建國 58 NA 79 91 85 10 張志傑 63 70 91 85 82 > rename(student_score_data,c(統計學="統計")) 學生姓名 統計 數學 營銷學 管理學 會計學 1 張青松 68 85 84 89 86 2 王宇翔 85 91 63 76 66 3 田思雨 74 74 61 80 69 4 徐麗娜 88 100 49 NA 66 5 趙瑩瑩 63 82 89 91 85 6 王智強 78 84 51 60 60 7 宋麗媛 90 78 59 72 66 8 袁芳芳 80 100 53 73 70 9 張建國 58 NA 79 91 85 10 張志傑 63 70 91 85 82 # 數據保存 > write.csv(student_score_data,file = "C:/Users/wpguoc/Desktop/student_score_data.csv") > save(student_score_data,file = "C:/Users/wpguoc/Desktop/student_score_data.RData") # 數據加載 > load("C:/Users/Desktop/student_score_data.RData") > student_score_data 學生姓名 統計學 數學 營銷學 管理學 會計學 1 張青松 68 85 84 89 86 2 王宇翔 85 91 63 76 66 3 田思雨 74 74 61 80 69 4 徐麗娜 88 100 49 NA 66 5 趙瑩瑩 63 82 89 91 85 6 王智強 78 84 51 60 60 7 宋麗媛 90 78 59 72 66 8 袁芳芳 80 100 53 73 70 9 張建國 58 NA 79 91 85 10 張志傑 63 70 91 85 82
轉載請註明出處,謝謝!數學