Rstudio經常使用操做

一、數據讀取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

  

轉載請註明出處,謝謝!數學

相關文章
相關標籤/搜索