Rstudio常用操作

1、数据读取

  

> 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

  

2、描述性统计

# 按照学生姓名升序排列
> 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

  

3、缺失值的处理

> 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

  

4、自定义函数统计学生成绩的平均值、中位数、极差和标准差

> 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

 5、编辑数据集

# 重命名
> 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

  

转载请注明出处,谢谢!

 

 

  

posted @ 2018-12-21 11:09  因为专注。所以专业  阅读(1700)  评论(0编辑  收藏  举报